webapi

Google Analytics Data Export API

 

Google Analytics Data Export API が登場する前に書いた記事 「Google Analytics → POP3 → 独自レポート生成」 はメールベースだったこともあって、動いているのが不思議な状況でした。 早いところ API ベースに移行してスッキリしたいところです。

Client Libraries & Sample Code には GarbGattica という2つの Ruby ライブラリが紹介されています。 この2つの使い方を見比べてみて、エイヤッで後者の Gattica を試すことにしました。

内容は、2009年4月における「ブラウザ」と「OS」のシェアを報告するというものです。

Amazon Product Advertising API (認証対応)

 

Amazon Product Advertising APIの認証の件(zorioの日記)に、 シグネチャを計算するコードが載っていたので、 これを参考にしつつ本物のキーを使用してリクエストを発行してみました。

内容は、1回のリクエストで10個の ISBN-13 を送信して、 それぞれの書名を取得するというものです。

SBM - コメントを取得

 

SBM に投稿されたコメントを取得するための Ruby スクリプト(サンプル)を作成しました。 ブログのコメント機能を SBM に置き換えることを念頭に置いていますが、 このサンプルは、指定した URL に付けられたコメントを取ってくるだけです。 サンプルは、次の SBM について作成しています。

SBM使用するAPI使用するライブラリ
はてなブックマーク はてなブックマークエントリー情報取得API net/http, json
del.icio.us RSS feeds net/http, rexml/document, digest/md5
livedoor clip (なし) net/http, hpricot

使用するライブラリの中で、 json (JSONパーサ) と hpricot (XPath対応HTMLパーサ) は標準ライブラリではありませんが、コマンドラインで「gem install json」 のように入力するだけで簡単にインストールすることができます。

Web API (Ruby)

 

これは、Web API 関連の記事をまとめたハブエントリです。 Web API の呼び出しには Ruby を使用しています。

次の表は、それぞれの記事が Web API の呼び出しで使用しているライブラリをまとめたものです。 なお、Web API で実現できない部分については、スクレイピングを使用している場合があります。

記事使用しているライブラリ
検索 - Amazon ECS net/http, rexml/document
検索 - Google SOAP Search API soap/wsdlDriver
検索 - Yahoo! 検索 Web サービス net/http, rexml/document
SBM - del.icio.us ブックマーク数 net/http, digest/md5, json
SBM - livedoor clip ブックマーク数 xmlrpc/client
SBM - はてなブックマーク数 xmlrpc/client
SBM - エントリを一括削除 net/http, rexml/document, digest/sha1
SBM - コメントを取得 net/http, rexml/document, digest/md5, json, hpricot
統計 - PageRank, Traffic Rank, etc.net/http, rexml/document, scrapi

SBM - エントリを一括削除

 

SBM から、すべてのエントリを一括削除する Ruby スクリプトです。 このスクリプトを使用する場合は、あらかじめ SBM をバックアップ(エクスポート) しておくことをお勧めします。 スクリプトは、次の SBM について作成しています。

SBM 使用するAPI 使用するライブラリ
はてなブックマーク はてなブックマークAtomAPI net/http, rexml/document, digest/sha1, time
del.icio.us Developers 》 API 》 Posts net/https, rexml/document

統計 - PageRank, Traffic Rank, etc.

 

サイトの統計情報を取得する Ruby スクリプトです。

取得項目 データソース 取得方法
Web Scouter Web Scouter scrAPI (スクレイピング)
Feed 人気度 feed meter scrAPI (スクレイピング)
Feed 発行部数 FeedBurner API (デベロッパーAPI
PageRank Google API (Google Toolbar を模倣)
Blog Ranking Technorati API (Technorati API
Traffic Rank Alexa API (Alexa Toolbar を模倣)

SBM - del.icio.us ブックマーク数

 

del.icio.us では、 JSON URL Feeds を使用して「ページのブックマーク数」を取得できます。 「サイトの合計ブックマーク数」を取得するには、 「ページのブックマーク数」と同じ要領で、サイトが保有しているすべての URL を処理します。

SBM - livedoor clip ブックマーク数

 

livedoor clip では、 クリップ件数取得 API を使用して「ページのブックマーク数」を取得できます。 「サイトの合計ブックマーク数」を取得するには、 「ページのブックマーク数」と同じ要領で、サイトが保有しているすべての URL を処理します。

SBM - はてなブックマーク数

 

はてなブックマーク件数取得APIに新しいAPIを追加 (はてなブックマーク日記)
“今までは XMLRPC による件数取得が可能でしたが、新しい API ではシンプルな GET による件数取得を行うことができます。”

2009-08-11

はてなブックマークでは、 はてなブックマーク件数取得API を使用して「ページのブックマーク数」と「サイトの合計ブックマーク数」を取得できます。

外部認証モジュール for Drupal 4.7.x

 

Drupal で外部認証を実現するためのモジュール、extauth.module を作成しました。 バージョン 0.1.0 では、「はてな認証」と「TypeKey認証」の2つをサポートしています。

このサイトでは、このモジュールを試験運用するために、 画面右上のリンクからログインできるようにしています。 ログインするとコメント投稿の権限を得ることができます。

このモジュールでは、分っている範囲で3つのテーブル(authmap, users, sessions)を更新します。 そのため、モジュールの使用に当たっては、データベースのバックアップを取ることを強く推奨します。

Download

  • extauth.module 0.1.0  (2006-08-02)
    このモジュールでは、TypeKey認証を実装するために、次の2つのライブラリを使用しています。 あわせて入手してください。
  • DSA.php
  • TypeKey.php

はてな認証API

 

はてな認証API を使用すると、アカウント管理とアカウント認証を「はてな」へ任せることができます。 自分のサイトでは、「はてな」で認証されたユーザについてログイン処理だけ実行すれば良いのです。

Demo - はてな認証

 

このデモは停止中です。(2006-09-06)

 

はてな認証

 

【注意】

これはデモに過ぎません。 このデモでは、「はてな」で認証が成功するとユーザIDの通知を受け取って表示しますが、 それ以上のことはしません。 このサイトに記事やコメントを投稿するための権限は与えられません。

検索 - Yahoo! 検索 Web サービス

 

Yahoo!検索Webサービス へ RESTリクエストするサンプルを作成しました。

Yahoo!検索Webサービスへのリクエスト方式は REST のみとなっており、SOAP はサポートされていません。

Yahoo!検索Webサービスの利用制限は以前よりも緩和されて、 5,000リクエスト/日以内 から 50,000リクエスト/日以内 に引き上げられています。

サンプルを動かすには、 アプリケーションIDを登録 する必要があります。

検索 - Amazon ECS

 

認証と ISBN-13 に対応したコードを Amazon Product Advertising API (認証対応) に掲載しました。 使用している Operation は ItemLookup のみです。

2009-05-13

Amazon ECS へ RESTリクエストするサンプルです。

Amazon ECS へのリクエスト方式としては REST と SOAP がありますが、 よく利用されている REST のみ取り上げることにしました。 もし、SOAP を使用するのであれば「検索 - Google SOAP Search API」 が参考になると思います。

Amazon ECS の利用制限には、毎秒1コールを超えてはいけないというルールがあります。

サンプルを動かすには、 Access Key IDを取得 する必要があります。