sharekit を使っているが、URL を短縮する bityl サービスは使いたくない twitter が提供する組み込みの t.co を使いたい。
どうやってやるの?
ありがとう。
sharekit を使っているが、URL を短縮する bityl サービスは使いたくない twitter が提供する組み込みの t.co を使いたい。
どうやってやるの?
ありがとう。
残念ながら、T.coは開発者向けの API として利用できません。これは、Twitter が長いリンクを自動的に短縮するために使用する内部短縮機能です。
詳細については、Twitter 開発者のRaffi によるこの投稿をご覧ください。
リンクがどのように短縮されるかを制御することはできません。ただし、20 文字を超える URL はすべて自動的に短縮されます。Twitter に送信する新しいメッセージに含めて、短縮される内容を制御できます。wrap_links=true
POST
応答でエンティティを有効にすると、リンクの次の属性が表示されます。
"urls": [
{
"url": "http://t.co/0JG5Mcq",
"display_url": "blog.twitter.com/2011/05/twitte…",
"expanded_url": "http://blog.twitter.com/2011/05/twitter-for-mac-update.html",
"indices": [
84,
103
]
}
],
さらに参考のために:
Twitter の t.co URL ラッパーが、19 文字以上のすべての URL で有効になりました
編集 --->
これをShareKitで機能させる方法:
Twitter は、bit.ly がURL に対して行っているような API をリリースしていませんが、ShareKit ライブラリを調べると、次のファイルが表示されます。
/ShareKit/master/Classes/ShareKit/Sharers/Services/Twitter/SHKTwitter.m
このファイルを開き、次の行を探します。
http://api.bit.ly/v3/shorten?login=%@&apikey=%@&longUrl=%@&format=txt
ブロックの内側
self.request = [[[SHKRequest alloc] initWithURL:[NSURL URLWithString:[NSMutableString stringWithFormat:@"http://api.bit.ly/v3/shorten?login=%@&apikey=%@&longUrl=%@&format=txt",
SHKBitLyLogin,
SHKBitLyKey,
SHKEncodeURL(item.URL)
]]
これは、ShareKit が Twitter 共有者に送信する短い URL 文字列です。
これをテストする機会はありませんでしたが、このテキスト文字列を長い URL テキスト文字列に変更すると、ShareKit は代わりにそれを送信すると思います。
フレームワークの他の部分で Bit.Ly サービスに依存している部分があるかもしれませんが、その点には注意してください。しかし、試してみる価値はあります。
Twitter は T.co API を提供していませんが、8 月 15 日現在、すべてのリンクを t.co に翻訳し始めています。したがって、上記の手順で長い URL を使用すると、応答に T.co が表示されるはずです。