7286


Node.jsでntwitterのパッケージを利用してbotを動かそうとしています。  
そこでbotに送られてきたリプライに対してリプライを返したいのですが、以下のように in_reply_to_status_id
オプションを送られてきたツイートのものを指定しても望んだ通りにツイートに対するリプライではなく単にユーザに対するリプライとなってしまします。

[code]

    // twitter は ntwitter のオブジェクト
    // reply は送られてきたツイートのオブジェクト
    twitter.updateStatus(
      "@example hoge",
      {
        in_reply_to_status_id: reply.id
      }, function(error, success){}
    );
    
[/code]

実際にhttpで送信されるデータをconsole.log等で確認したところタイポや指定の仕方が間違えているわけではありません。

また、rubyやphpでも同様のことを試してみましたがやはりツイートに対するリプライになりませんでした。

各種クライアントや数あるbotではきちんとツイートに対するリプライができていることを考えると、何か原因があるのかもしれませんが、自分では解決できないので質問しています。

根本的な原因を知っている方や、ツイートに対するリプライができるという方、ご教授お願いします。


CC BY-SA 3.0
2015-03-01T13:47:08.870
7282
2015-03-01T14:31:43.773
2015-03-01T14:31:43.773
8000
5317
question
javascript node.js twitter
Twitter API の in_reply_to_status_id オプションを利用したリプライについて


`id` プロパティにはツイートIDが数値として入っているのですが、現在のツイートIDは数字が大きすぎてJavascriptでは正確に扱うことができません。

代わりに、IDが文字列として入っている `id_str` を使うようにしてください。

[code]

    twitter.updateStatus(
      "@example hoge",
      {
        in_reply_to_status_id: reply.id_str
      }, function(error, success){}
    );
    
[/code]

## 参考

  * [TwitterのIDが64bitになるとJavaScript等で問題が出るので対策を - F.Ko-Jiの「一秒後は未来」](http://blog.fkoji.com/2010/10201250.html)
  * [Twitter IDs | Twitter Developers](https://dev.twitter.com/overview/api/twitter-ids-json-and-snowflake)


CC BY-SA 3.0
2015-03-01T14:11:26.490
7286
2015-03-01T14:11:26.490
8000
7282
answer