twitter api 1.1 で何が変わったか (仮) / what changed about twitter api?

20
TWITTER API 1.1 で何が変 わったのか ( ) API 研究家 辻村 浩 (Hiroshi TSUJIMURA)

Upload: hiroshi-tsujimura

Post on 05-Jul-2015

5.306 views

Category:

Technology


3 download

DESCRIPTION

2013年5月18日開催予定の「第4回Twitter研究会」で発表予定のプレゼン資料です。 まだ、決定稿ではありません (^^; This presentation is written for the 4th Twitter Workshop in Japan. #twitterconf

TRANSCRIPT

Page 1: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

TWITTER API 1.1 で何が変わったのか (仮 )

API 研究家 辻村 浩 (Hiroshi TSUJIMURA)

Page 2: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

概要自己紹介

API 1.1 登場までの流れ API 1.1 で何が変わったのか API 1.1 で廃止された API API 1.1 で追加された API エンドポイントが変更された API各種クライアントの API 1.1 対応状況

まとめ

201

3/0

5/1

8

2

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

注意 : この発表ではTwitter の Display Requirements の話はしません

Page 3: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

自己紹介 2007年 4月 5日、 Twitter クライアント Chirrup の最初の版を公開

2007年 4月 25日に「 Twitter API 仕様書 日本語訳」の最初の版を公開

2007年 10月、「 Twitter! -Twitter API ガイドブック -」 (九天社 )を上梓 http://9-ten.com/bookdata/1944.php

2009年 12月 5日、第 1回 Twitter研究会にて発表 Twitter の API の変遷

http://www.slideshare.net/tsupo/twitter-api-2650912 2010年 4月、「 Twitter API ガイドブック」 (ワークスコーポレーション )を上梓 http://www.wgn.co.jp/store/dat/3205/

2010年 7月、Web Site Expert #31 (技術評論社)に「 Twitterで 位置情報をつぶやく」を寄稿

http://gihyo.jp/magazine/WSE/archive/2010/vol31 2010年 8 月、「 Twitter API 仕様書 日本語訳 第五十版」を公開

https://github.com/tsupo/Twitter-API-Specification--written-in-Japanese-/blob/master/twitterAPI.txt

2011年 3月、言語処理学会第 17回年次大会 で Twitter に関するパネルディスカッションに参加。 Streaming API ネタで発表

201

3/0

5/1

8

3

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 4: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 登場までの流れ(1/6)

2008年 11月、 OAuth 認証が試験的に導入される 2009年 2月、 OAuth 認証が正式版になる 2009年 4月、いままで非公式だったハッシュタグが公式化される

2009年 5月、 Streaming API が登場 2009年 6月 11日、 OAuth 1.0 から OAuth 1.0a へ移行

2009年 6月 13日、 status ID が signed long で扱える範囲を超える

2009年 8月、いわゆる「公式リツイート」機能が登場

2009年 9月、 home_timeline 登場

201

3/0

5/1

8

4

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 5: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 登場までの流れ(2/6)

2009年 11月、 list 機能登場 2010年 1月、 REST API のエンドポイントに API の版数を明示した

http://api.twitter.com/1/で始まる形式のものが追加された

2010年 2月、 Trends 関連の API が公開 2010年 3月、 Geo 関連の API が公開 2010年 4月、 Streaming API に User Streams を追加

2010年 8月 31日、 BASIC 認証版の REST API は廃止。 OAuth 認証に一本化 (当初の予定では 8月 16日 )

2010年 8月 31日、 Streaming API に Site Streams を追加

201

3/0

5/1

8

5

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 6: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 登場までの流れ(3/6)

2011年 6月 30日、 OAuth 認証でアプリケーションに許可される権限が (1) 従来の権限 (read, write, ダイレクトメッセージ 関係の APIの実行、すべて OK) (2) 制限された権限 (read, write のみ。ダイレクト メッセージ関係の APIの実行は不可 )の 2 種類になった。デフォルトの権限は (2) の方。(1) の権限が必要な場合は、改めて申請しないといけないようになった。なお、 xAuth では (2) の権限しか取得できなくなった。

201

3/0

5/1

8

6

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 7: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 登場までの流れ(4/6)

2012年 3 月下旬、これまで xAuth を許可されていたクライアントが一斉に未許可の状態にリセットされた。 xAuth が必要な場合は、改めて Twitter 社と交渉する必要がある。 xAuth は簡単には許可されなくなった

2012年 9月 5日、 Twitter API 1.1 リリース 2012年 10月 12日、

http://twitter.com/statuses/home_timeline.jsonのような従来のエンドポイントが使えなくなった。以降、 APIの版数を含むエンドポイントの使用が必須になるhttps://api.twitter.com/1/statuses/home_timeline.jsonhttps://api.twitter.com/1.1/statuses/home_timeline.json

201

3/0

5/1

8

7

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 8: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 登場までの流れ(5/6)

同じ日に、statuses/mentions

が statuses/mentions_timelineに変更された。

さらに、 Search API を除き、 atom 形式のサポートが終了

そして、いつの間にか public_timeline が廃止(2012年 10月の下旬から 2013年 2月上旬のどこか )

2013年 2月 12日、 GET lists/statuses

の実行回数制限が緩和 (15回 /15 分 → 180回 /15分 )

201

3/0

5/1

8

8

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 9: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 登場までの流れ(6/6)

2013年 3月 5日、 Twitter API 1.1 への切り替え開始(API 1.0 は 1日のうちの限られた時間帯しか使えなくなる )

2013年 3月 11日、アプリケーション自身を認証する仕組みが実装される。 API としては

https://api.twitter.com/oauth2/tokenhttps://api.twitter.com/oauth2/invalidate_token

の 2 つが追加 (OAuth 2 ベースであることに注意 ) 2013年 5月 7日、 GET statuses/retweeters/ids 追加

2013年 6月 11日、 Twitter API 1.0 完全廃止予定

同じく、 6月 11日に、 Streaming API のBASIC 認証バージョンも廃止 ( ただし、Streaming API に限っては、当分の間、 API 1.0 のエンドポイントも生き残る )

201

3/0

5/1

8

9

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 10: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 で何が変わったのかエンドポイントの変更

http から https へ http://twiter.com/ で始まるエンドポイントが廃止 https://api.twitter.com/1.1/で始まるエンドポイントを採用

出力形式が JSON のみになる API の応答を XML で受け取っていたアプリケーションは改修必須

API の実行回数制限の時間の単位が 1時間から15分に

lists 関連の API のエンドポイントが全面改訂 Search API がようやく REST API に合流 PUT系、 DELETE 系 API が POST系に統一された

201

3/0

5/1

8

10

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 11: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

OAuth関連のエンドポイントの変更 http でも https でもよかったのが https のみになったただし、

http://api.twitter.com/oauth/access_token だけは、依然として http のままアクセスする (実際に

アクセスできることを確認 )厳密には、

https://api.twitter.com/oauth/access_tokenにも条件さえ満たせばアクセス可能である。 その条件とは xAuth 使用権限があること。権限がないのに

アクセスした場合は 401 Access Denied が返る

201

3/0

5/1

8

11

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 12: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 で廃止された API (1/3)

Timelines GET statuses/public_timeline GET statuses/friends_timeline GET statuses/retweeted_by_me GET statuses/retweeted_to_me GET statuses/retweeted_to_user GET statuses/retweeted_by_user

Tweets GET statuses/:id/retweeted_by GET statuses/:id/retweeted_by/ids

201

3/0

5/1

8

12

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 13: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 で廃止された API (2/3) Streaming

GET statuses/links GET statuses/retweet

Friends & Followers GET friendships/exists

Users GET statuses/friends GET statuses/followers POST account/end_session POST account/update_location GET blocks/exists GET users/profile_image/:screen_name GET account/totals

201

3/0

5/1

8

13

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 14: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 で廃止された API (3/3) Places & Geo

GET geo/nearby_places Trends

GET trends GET trends/current GET trends/daily GET trends/weekly GET trends/location

Help GET help/test

Notification (Delivery Device) POST notifications/follow POST notifications/leave

201

3/0

5/1

8

14

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 15: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

API 1.1 で追加された API Tweets

GET statuses/retweeters/ids (2013年 5月 7日追加 )

Friends & Followers GET friendships/no_retweets/ids (2013年 1月 26日追加 )

Lists GET lists/ownerships (2013年 3月 31日追加 )

OAuth POST oauth2/token (2013年 3月 11日追加 )

POST oauth2/invalidate_token (2013年 3月 11日追加 )

201

3/0

5/1

8

15

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 16: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

エンドポイントが変更されたAPI (1/2)

Timelines GET statuses/mentions_timeline

Search GET search/tweets

Users GET blocks/list GET blocks/ids

Favorites GET favorites/list

Saved Searches GET saved_searches/list

201

3/0

5/1

8

16

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 17: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

エンドポイントが変更されたAPI (2/2)

Trends GET trends/place

Help GET application/rate_limit_status

Lists全部 !!例

POST :user/lists → POST lists/create POST :user/lists/:list_id → POST lists/update GET :user/lists → GET lists/list GET :user/lists/:list_id → GET lists/show DELETE :user/lists/:list_id → POST lists/destroy

201

3/0

5/1

8

17

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 18: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

各種 クライアントの API 1.1対応状況詳しいことは

Twitterクライアント&サービス  API1.1対応状況リスト https://docs.google.com/spreadsheet/ccc?

key=0ArnMQU9tQoZpdENJTmo5ZlJIbi1JLTJLeGJMVk81TUE

を見てね !

201

3/0

5/1

8

18

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 19: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

まとめ API 1.1 になっても改善されなかったこと

依然として PC とモバイルで search API の結果が違う !! モバイルの方が検索結果の件数が少ない

(PC でしか見つからないツイートが多数 )

1.0 廃止後も当分の間は例外的に使えるようにしておくと言っていた

api.twitter.com/1/statuses/oembed.*がすでに使えなくなっている

Twitter 公式クライアントのみ使える非公開 API もあるという噂があるが、真偽不明

Twitter 公式クライアントは API 制限が緩くなっているという噂もあるが、少なくとも Android版や iOS 版の現行バージョンではそれはなさそう(たぶん )

201

3/0

5/1

8

19

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)

Page 20: Twitter API 1.1 で何が変わったか (仮) / What changed about Twitter API?

おまけ Twitter API 1.1 の現行 API 一覧

https://gist.github.com/tsupo/5597048 Twitter API 1.1 の実行回数制限

https://gist.github.com/tsupo/5597066まとめ記事

結局、 Twitter API 1.1 で何が変わる? 5つのポイント http://www.atmarkit.co.jp/ait/articles/1209/26/news120.html

201

3/0

5/1

8

20

Tw

itter A

PI 1

.1

で何が変わったのか

(仮)