Feedeenのデータにアクセスできる REST 形式の API を試験的に公開しています。現在は試験公開ということで、自分自身のデータにのみアクセスでき、取得できるデータも限定されています。もし必要な API がない場合は、使用目的などをお問合せフォームよりお知らせください。皆様のご意見を伺いつつ、 API を拡張していこうと考えております。
利用のための準備REST API を利用するためには、開発者登録と認証情報の取得が必要です。以下で準備のための手順をご説明します。
開発者登録API を利用したい方は、 Feedeen にログインした状態でお問合せフォームからその旨をご連絡ください。当方で必要な設定を行い、折り返しご連絡させていただきます。アカウント等にご連絡いただいても、 Feedeen アカウントの特定ができず設定が行なえませんので、必ずログインした状態でお問合せフォームをご利用ください。
単に設定作業の都合でご連絡をお願いしているだけで、とくに審査などを行うことはありません。 Feedeen ユーザーであればどなたでも登録する方針ですので、お気軽にご連絡ください。
認証情報の確認開発者登録が終了したら、詳細設定の「アカウント」タブを開いてください。「開発者情報を表示する」というボタンがあり、それをクリックすると「クライアントID」と「シークレット」が表示されます。
![]() アカウント画面 ![]() 認証情報が表示されたところ これらの情報は API のアクセストークンを取得する際に必要となります。
API へのアクセス方法Feedeen の REST API は OAuth 2.0 の JWT Profile に準拠しており、Google の一連の API などと同じ手順でアクセスできます(ただし、JWTの署名方法は HS256 のみです)。ここでは、 API にアクセスする手順を簡単にご説明します。ページの最後に Ruby と Python のサンプルコードも掲載しているので、あわせて参考にしてください。
アクセストークンの取得API にアクセスする前に、認証情報を格納した JWT (JSON Web Token) を既定の URL に POST して、アクセストークンを取得する必要があります。送信する JWT には以下の情報を格納してください。
この情報を、アカウント画面に表示されるシークレットで HS256 署名して JWT を生成します。 Ruby で jwt gem を使用する場合、以下のコードになります。
生成した JWT を、以下のフィールドを持つ x-www-form-urlencoded 形式で https://www.feedeen.com/api/auth に POST してください。
レスポンスとして以下の JSON データが返ります。 access_token フィールドの値がアクセストークンとなります。 expires_in の秒数(現在のところ1時間に固定)経過するとトークンが無効化されますので、その場合は同じ方法で新しいトークンを取得してください。
APIのアクセス各 API にアクセスするときは、以下のリクエストヘッダを指定してください。「アクセストークン」の部分は上で取得したアクセストークンに置き換えてください。アクセストークンはヘッダに使える文字しか含まないので、エスケープ等は不要です。 注意事項Feedeen のサーバーはお世辞にも強力とは言えないので、大量のリクエストを送信するのは避けてください。とくに、以下の点にご配慮いただけると助かります。
利用できるAPI現在利用できるAPIは、購読リストと未読数の取得のみです。必要に応じて拡張していこうと考えておりますので、必要な機能があれば、使用目的などをお問合せフォームよりお知らせください。実装を検討させていただきます。 以下、それぞれのAPIの仕様です。 GET /api/feeds自分が購読しているフィードのリストを返します。 HTTPメソッド GET URL https://www.feedeen.com/api/feeds クエリーパラメータ なし
レスポンスボディ 以下の形式のJSONデータが返ります。 GET /api/items/count各フィードの未読数を返します。 HTTPメソッド GET URL https://www.feedeen.com/api/items/count クエリーパラメータ mode: default, all, total のいずれか。省略時は default リクエストボディ mode の値によって以下のJSONデータが返ります。 ※ 「"フィード1のID"」等は /api/feeds で返るフィードIDを文字列化したもの。 ※ 「未読数の合計」はアプリ上の「すべてのアイテム」の未読数と同じです。フィルタされたアイテムやお知らせの未読数は含まれません。 サンプルコード参考として、 Ruby, Python で各APIにアクセスするサンプルを掲載します。コードを短くするため、エラー処理やセキュリティ対策等は最低限となっているのでご注意ください。 RubyRubyで各APIにアクセスするサンプルです。 jwt gem を使用しているので、 gem install jwt であらかじめインストールしてください。 PythonPythonで各APIにアクセスするサンプルです。 PyJWT を使用しているので、 pip3 install PyJWT であらかじめインストールしてください。 Clojure@anekos 様により、 Clojure によるクライアントの実装が公開されています。ありがとうございます! anekos/feedeen-stat 他にもサンプル等を実装された方がいらっしゃいましたら、ぜひご連絡ください。このページからリンクさせていただきます。 |
開発者向け情報 >