我从twitter search/tweets
api获得了结果。问题是我试图重新创建一个回到原始推文的链接......通常采用以下形式:
http://twitter.com/{user.screen_name}/status/{id}
问题是,如果某个内容是转发,那么user.screen_name
会破坏链接(404),因为转推指向原始推文的ID,而不是推文的转发ID(如果是有意义)...所以对于转推我需要链接为http://twitter.com/{retweeted_user.screen_name}/status/{id}
我无法在响应中看到一个标志,告诉我一个对象是否转发,因为没有实际的"转发"对象
我很惊讶twitter实际上并不是一个简单的metadata.source_url
或易于访问的东西,而是我不得不重建Twitter原始推文页面的链接。
答案 0 :(得分:2)
如果您不介意重定向,请使用https://twitter.com/statuses/{id_str}
。
答案 1 :(得分:0)
结果https://twitter.com/statuses/{id}
工作正常(感谢@pii_ke)
问题是twitter的搜索api返回.id
和.id_str
,而我没有意识到的是大数字在javascript中无法解析。
您可以在此处详细了解:https://dev.twitter.com/overview/api/twitter-ids-json-and-snowflake
...但正是它应该始终使用.id_str
并将这些ID号保存为字符串。
(90071992547409921).toString()
被解析为'90071992547409920'
< - 注意最后丢失的1已成为0?
除了不知道http://twitter.com/statuses/<id_str>
在我的情况下,我在服务器端的node.js中使用了koa应用程序,并且查询了twitter的API,某个地方尝试将原始.id
解析为字符串并丢失了一些内容...使用{ {1}}到处解决了这个问题。