&tag(TwitterAPI/v1.1); *目次 [#tde713f5] #contents *参考情報 [#cc0de375] -[[../]] -[[Twitterブログ: Twitter API v1.1でのAPI利用ルールの変更について:http://blog.jp.twitter.com/2012/08/twitter-api-v11aip.html]] -[[Twitter APIと開発者規約変更のインパクトまとめ:結局、Twitter API 1.1で何が変わる? 5つのポイント - @IT:http://www.atmarkit.co.jp/ait/articles/1209/26/news120.html]] *概要 [#kced67db] -APIエンドポイントに承認が必要。 -APIエンドポイントごとにレートリミットが採用。 -Twitterクライアントに対する規約強化。 *開発者側で必要なこと [#fd53e49c] -APIエンドポイントのURL変更。 -レートリミットへの変更。 -Display Requirementsへの対応 *APIエンドポイントのURL変更 [#ib003177] **通常API [#c165e4ac] -URLが https://api.twitter.com/1/*からhttps://api.twitter.com/1.1/*に変更になる。 -一部廃止になるものもある。それを使ってたらだめ。 **検索API [#xfd6a602] -[[GET search/tweets | Twitter Developers:https://dev.twitter.com/docs/api/1.1/get/search/tweets]] -http://search.twitter.com/search.jsonが、https://api.twitter.com/1.1/search/tweets.jsonに変更になる。 -レスポンスの形式がかわるらしい。のでパース部分も変更する必要あり? -[[Twitter検索API v1.1を調査したらスゴすぎて世界が広がった : 異聞録 @ikko:http://blog.livedoor.jp/ikko615/archives/51900233.html]] *レートリミット変更 [#af42c394] -[[REST API Rate Limiting in v1.1 | Twitter Developers:https://dev.twitter.com/docs/rate-limiting/1.1]] -API 1.0ではREST APIで1時間あたり350回だった。 -API 1.1では1アカウント・15分・エンドポイントあたりに15回または180回。 -レスポンスヘッダーから現在の状況を確認できるらしい。X-Rate-Limit-Remainingで残り回数確認できるらしい。X-Rate-Limit-Resetはリセットされる時間。 -ストリーミングAPIの制限は変更なし。 *Display Requirementsへの対応 [#jad068ab] -[[Developer Display Requirements | Twitter Developers:https://dev.twitter.com/terms/display-requirements]] -[[Developer Display Requirementsを日本語訳してみた » ABCanG's Blog:http://abcang.hotcom-web.com/wordpress/?p=123]] クライアントにとってこれが一番問題。 **個々のTweet [#q6b0d146] ***1. Tweet Author [#u26da0cd] -a. アプリケーションがモバイルプラットフォームで明確な物理的・技術的な制限がない場合を除き、アイコンは常に表示されなければならない。 -b. @usernameは、@つきで表示しないといけない。 -c. 著者の名前と@usernameは、アイコンの右側に、一直線か、垂直に積み上げて、名前を先に表示する。 -d. アイコン、名前、@usernameはユーザーのTwitter profileにリンクすること。 ***2. Tweet Text [#v67ce28b] -a. ツイートテキストは著者の名前と@usernameの下に表示し、原則的に改変してはならない(?) -b. ツイートテキスト中の[[Tweet Entities | Twitter Developers:https://dev.twitter.com/docs/tweet-entities]]はTwitterの適切な場所にリンクする。 --i. User_mentions はユーザーのprofileにリンク。 --ii. ハッシュタグはtwitter.comの検索にリンク。 --iii. 本文中のリンクもただしくリンク。 ***3. Tweet Action [#lf1ca7f4] -a. Reply, Retweet, Favoriteアイコンは常にTweetと同時にみえていないとだめ。それらのアクションはWeb IntentsやTwitter APIで実装する。 -b. サードパーティのFollow, Reply, Retweet,Favoriteに似たアクションはTweetに添付することはできない。 ***4. Tweet Timestamp [#a39efdd2] -a. timestampは常に表示。“3:00 PM - 31 May 12"。 ***5. Tweet Permalink [#dac68089] -a. Tweet timestampはTweet permalinkにリンク。 ***6. Branding [#r49f869f] -a. ユーザーが見ている内容がTwitterであることが明瞭に。 -b. Twitter logo or Follow buttonは常に表示。 -c. Twitter logoはTwitterにリンク。 **タイムライン [#x28811a0] タイムラインの表示ではいくつかの変更が必要 ***1. Tweet Author [#ac55dec9] -a. 著者の名前と@usernameは、アイコンの右側に、一直線か、垂直に積み上げて、名前を先に表示する。 -b. @usernameは常に@つきで表示。 -アイコンは名前、@username、テキストの左に。 ***2. Tweet Action [#ffb20ed7] -a. Reply, Retweet, Favoriteアイコンは常に使用可能でないとだめ。例えば、選択、ホバー、タッチ、スワイプなどで。 -b. モバイルプラットフォームでは、Tweetエリア全体をアプリの個々のTweetが、TwitterのTweetにリンクすることもできる。 ***3. Tweet Timestamp [#qe51d59b] -a. timestampは右上に常に表示。 -b. 24時間以内は相対時間で表示。"20s"、"3m"、"5h"などなど。 -c. 24時間以上は "6 Jun"などと表示。 ***4. Tweet Permalink [#j3d16b34] -a. Tweet timestampはTweet permalinkにリンク。 -b. モバイルプラットフォームでは、Tweetエリア全体をTweet permalinkにリンクすることもできる。 *** 5. Retweet Indicator [#lbf52fe0] -a. もしツイートがRetweetならば、Retweetしてユーザーの名前とRetweetアイコンをTweetテキストの上か下に表示しなければならない。例えば"Retweeted by Josh Brewer"。名前はRetweetしたユーザーのプロフィールにリンク(モバイルプラットフォームで…) ***6. Timeline Integrity [#o6ea3d0a] -タイムラインにまとめられているツイートはTwitter以外の内容を表示してはならない。 ***7. Branding [#r49f869f] -ユーザーが見ている内容がTwitterであることが明瞭に。 -Twitter logoを表示する(例えばタイムラインのトップに)。 **Linking to Twitter [#od82bb7f] アイコン、名前、@username、Tweet entity、Tweet action, Tweet permalink, Twitterロゴにリンクする場合以下のどちらかの方法でリンクすることができる。 -1. https://twitter.com/jack/statuses/20 のようなダイレクトリンク。 -2. [[Web Intents | Twitter Developers:https://dev.twitter.com/docs/intents]]を使用。 しかしながら、アイコン、名前、@username、hashutagはアプリ内部表示を使用することもできる。この内部表現はtwitter.comやオフィシャルTwitterクライアントのようなマナーをもたなければならない。 *トラブルシューティング [#l30d7fc1] **trends/availableが取得できない [#pb57ec43] -idが必須パラメータ。これがないと404が返ってくる。