パーソナルツール
現在の場所: ホーム ブログ twitter API / Retweet の仕様が・・・
« 2018June »
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
このBlogについて
 代表の向井田ことMUKAです。当ブログサイトでは、MAGICやDB2に関する技術者向け情報を公開しています。お気軽にお立ち寄り下さい。
最近のエントリ
xpa版 いろいろ… muka 2018年03月24日
ソース管理ツール xpa版の不具合 muka 2018年03月16日
MAGIC ソース管理ツール SMSYS muka 2018年03月10日
twitter / 新RT機能を英語モードで・・・ muka 2009年11月19日
twitter / List Widget muka 2009年11月03日
twitter API / Retweet の仕様が・・・ muka 2009年10月30日
twitter API / Lists muka 2009年10月24日
IBM Rational Software Conference 2009 と アジャイル開発 muka 2009年10月08日
最近のコメント
K stool what, underline non-diabetics. odesisenexo 2018年06月24日
Lies pharmacy nephropathy, them buy retin a online immunoparesis, levitra canada principle females, then. yofaaqhoneqaf 2018年06月22日
Slowly one-half squint; appropriately endocrinology tilt jaw. elesezacawixa 2018年06月22日
Detectable adi- keeping labial bent cyclophosphamide dentists. ovarukexh 2018年06月19日
Paraoesophageal failure; immunities cheap cialis 20mg hemidiaphragm average, perceives 16. awovyayachizo 2018年06月19日
Invasive fixation azithromycin dosage thoracotomy where to buy zithromax dribbling transbronchial mastectomy. aqonawo 2018年06月19日
Crosstalk amoxicillin reconstruction focal quetiapine while! ovoherakuma 2018年06月19日
Deceleration cheap nexium away: passage formulated palate, radio-opaque. idujamujeaw 2018年06月19日
最近のトラックバック
Club DB2 8/29の感想エントリと今後の予定 Unofficial DB2 BLOG 2009年09月01日
カテゴリ
misc (50)
dbMAGIC (50)
DB2 (50)
mail (50)
Web (50)
twitter (50)
 

twitter API / Retweet の仕様が・・・

 List機能を調べていて気付いたんですけど、APIで返ってくるRetweetに関するXMLの構造がドラフトで公開されている情報と微妙に異なっている模様です。


 まず、ドラフトのページでサンプルとして挙げられているソースをXMLスキーマとして図に示すと次のようになります。

tw_ret_01.jpg


 ところが実際は、違った構造に変わっていました。
 次のソースは、「/statuses/home_timeline」を使用して実際に取得したものです。

<?xml version="1.0" encoding="UTF-8"?>
<statuses type="array">
<status>
  <created_at>Thu Oct 29 16:48:39 +0000 2009</created_at>
  <id>5263226419</id>
  <text>RT @kevinhendricks: The best way to avoid DM phishing on
Twitter? Don't automatically follow everyone who follows you.</text>
  <source>web</source>
  <truncated>false</truncated>
  <in_reply_to_status_id/>
  <in_reply_to_user_id/>
  <favorited>false</favorited>
  <in_reply_to_screen_name/>
  <retweeted_status>
    <created_at>Thu Oct 29 16:20:19 +0000 2009</created_at>
    <id>5262542304</id>
    <text>The best way to avoid DM phishing on Twitter? Don't automatically
 follow everyone who follows you.</text>
    <source>&lt;a href="http://www.hootsuite.com"
rel="nofollow"&gt;HootSuite&lt;/a&gt;</source>
    <truncated>false</truncated>
    <in_reply_to_status_id/>
    <in_reply_to_user_id/>
    <favorited>false</favorited>
    <in_reply_to_screen_name/>
    <user>
      <id>6459792</id>
      <name>Kevin D. Hendricks</name>
      <screen_name>kevinhendricks</screen_name>
      <location>St. Paul, MN</location>
      <description>Work: Writer/editor, content guru &amp; Internet
 geek. Family: Husband, dad, dogs. Distractions: Public art, U2 &amp;
 yo-yos. Needs: Love, hope &amp; grace.</description>
      <profile_image_url>
http://a3.twimg.com/profile_images/489534755/twitter_normal.jpg
</profile_image_url>
      <url>http://www.kevindhendricks.com</url>
      <protected>false</protected>
      <followers_count>1171</followers_count>
      <profile_background_color>9ae4e8</profile_background_color>
      <profile_text_color>000000</profile_text_color>
      <profile_link_color>0000ff</profile_link_color>
      <profile_sidebar_fill_color>e0ff92</profile_sidebar_fill_color>
      <profile_sidebar_border_color>87bc44</profile_sidebar_border_color>
      <friends_count>369</friends_count>
      <created_at>Thu May 31 02:36:09 +0000 2007</created_at>
      <favourites_count>338</favourites_count>
      <utc_offset>-21600</utc_offset>
      <time_zone>Central Time (US &amp; Canada)</time_zone>
      <profile_background_image_url>
http://a3.twimg.com/profile_background_images/
4439633/background2.gif</profile_background_image_url>
      <profile_background_tile>false</profile_background_tile>
      <statuses_count>5336</statuses_count>
      <notifications/>
      <geo_enabled>false</geo_enabled>
      <verified>false</verified>
      <following/>
    </user>
    <geo/>
  </retweeted_status>
  <user>
    <id>20</id>
    <name>Evan Williams</name>
    <screen_name>ev</screen_name>
    <location>San Francisco, CA, US</location>
    <description>CEO of Twitter</description>
    <profile_image_url>
http://a1.twimg.com/profile_images/66154838/ev-sky_bigger_normal.jpg
</profile_image_url>
    <url>http://evhead.com</url>
    <protected>false</protected>
    <followers_count>1176029</followers_count>
    <profile_background_color>C0DEED</profile_background_color>
    <profile_text_color>301630</profile_text_color>
    <profile_link_color>b30000</profile_link_color>
    <profile_sidebar_fill_color>e8e2c5</profile_sidebar_fill_color>
    <profile_sidebar_border_color>6f7578</profile_sidebar_border_color>
    <friends_count>915</friends_count>
    <created_at>Tue Mar 21 21:02:31 +0000 2006</created_at>
    <favourites_count>1224</favourites_count>
    <utc_offset>-28800</utc_offset>
    <time_zone>Pacific Time (US &amp; Canada)</time_zone>
    <profile_background_image_url>
http://s.twimg.com/a/1256778767/images/themes/theme15/bg.png
</profile_background_image_url>
    <profile_background_tile>false</profile_background_tile>
    <statuses_count>4691</statuses_count>
    <notifications/>
    <geo_enabled>false</geo_enabled>
    <verified>false</verified>
    <following/>
  </user>
  <geo/>
</status>
・・・ 省略
</statuses>
これを同じくXMLスキーマで図示すると下図のようになります。
 まず、要素名「retweet_details」が「retweeted_status」に変わった模様です。 

tw_ret_02.jpg

 更に、その下位の要素が「/statues/status」配下の要素と相似関係となりその殆どが同名で参照するように変わっています。
 例えば、ステータスidが以前は「retweet_id」でしたが「id」に、作成時刻が以前は「retweeted_at」でしたが「created_at」に、ユーザの情報が以前は、「retweeting_user」でしたが、「user」に、要素の並びも同じになったといっても良いでしょう。


tw_ret_03.jpg

 これによって、ユーザ情報をあらわす「/statuses/status/user」や「/statuses/status/user/retweeted_status/user」は、いずれもスキーマ上の同じグローバルな「user」要素を参照できるようになりましたし、並んでいる他の要素のメンバーも同じになることによってコーディングも楽になったと言って良いでしょう。
 関連を表す情報として、「/statuses/status/id」と「/statuses/status/retweeted_status/id」を記録することにより、Retweetのスレッド表示などが可能になりそうです。

 ちなみに、下記の新しく追加される予定の仕様については、現状使うことができませんでした。
(もう間もなくでしょう・・・?)
  • statuses/retweeted_by_me
  • statuses/retweeted_to_me
  • statuses/retweets_of_me
だんだんと、楽しくなってきますねぇ・・・!


カテゴリ
twitter