c2talk.net APIはHTTP/XMLなどの標準仕様のみで構成されているため各種言語用のライブラリなどは用意されていません。各種言語、ライブラリなどのマニュアル等を参照してください。
以下にPerl/Rubyを使用した実例を示します。
  • Perl
    [イベント取得]
    use utf8;
    use strict;
    use URI;
    use URI::QueryParam;
    use LWP::UserAgent;
    use Encode;
    use XML::Simple;
    use Data::Dumper;
      
    my $url = URI->new(’http://api.c2talk.net/event/rest’);
    my %param = (
    apid => ‘########’,
    method => ‘event.list’,
    what => encode_utf8(’新規’));
    $url->query_form_hash(%param);

    my $ua = LWP::UserAgent->new;
    my $req = HTTP::Request->new(GET => $url->as_string());
    my $res = $ua->request($req);
    my $simple = XML::Simple->new();
    my $data = $simple->XMLin($res->content);

    [イベント追加]
    use utf8;
    use strict;
    use URI;
    use URI::QueryParam;
    use LWP::UserAgent;
    use HTTP::Request::Common qw(POST);
    use Encode;

    my $url = URI->new(’http://api.c2talk.net/event/rest’);
    my %param = (
    apid => ‘########’,
    method => ‘event.add’);
    $url->query_form_hash(%param);

    my $ua = LWP::UserAgent->new;
    my %event = (
    summary => encode_utf8(’Perlからのイベント追加’),
    startdate => ‘2007-09-15 12:34:56′
    );
    my $req = POST($url->as_string(), [%event]);
    $req->authorization_basic(’########’, ‘########’);
    $req->content_type(’application/x-www-form-urlencoded’);
    my $res = $ua->request($req);

     

  • Ruby

    [イベント取得]
    require ‘net/http’
    require ‘rexml/document’
    require ‘kconv’

    Net::HTTP.version_1_2

    param = {
    “apid” => “########”,
    “method” => “event.list”,
    “what” => “新規”
    }
    qparam = param.map do |key, value|
    “#{URI.encode(key)}=#{URI.encode(value)}”
    end.join(”&”)

    Net::HTTP.start(’api.c2talk.net’, 80) do |http|
    response = http.get(’/event/rest?’ + qparam)
    doc = REXML::Document.new response.body;
    puts doc.root.to_s().tosjis
    end

    [イベント追加]
    require ‘net/http’
    require ‘rexml/document’
    require ‘kconv’

    Net::HTTP.version_1_2

    doc = REXML::Document.new
    decl = REXML::XMLDecl.new ‘1.0′, ‘UTF-8′
    doc.add decl
    root = REXML::Element.new ‘root’;
    doc.add_element root
    event = REXML::Element.new ‘event’
    root.add_element event
    event.add_element ’summary’
    event.elements[’summary’].text = ‘rubyからのイベント追加テスト’.toutf8;
    event.add_element ’startdate’
    event.elements[’startdate’].text = ‘2007-08-31 12:34:56′;
    event.add_element ‘enddate’
    event.elements[’enddate’].text = ‘2007-08-31 13:57:46′;
    body = ”
    doc.write body;

    req = Net::HTTP::Post.new(’/event/rest?apid=########&method=event.add’)
    req.basic_auth ‘username’, ‘password’
    req.content_type = ‘text/xml’
    Net::HTTP.start(’api.c2talk.net’, 80) do |http|
    response = http.request(req, body)
    doc = REXML::Document.new response.body;
    puts doc.root.to_s().tosjis
    end