Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript twitter oEmbed API应该使用哪个URL?_Javascript_Api_Twitter_Oembed - Fatal编程技术网

Javascript twitter oEmbed API应该使用哪个URL?

Javascript twitter oEmbed API应该使用哪个URL?,javascript,api,twitter,oembed,Javascript,Api,Twitter,Oembed,我正在尝试嵌入基于用户搜索词的推文 我可以从Twitter的搜索API中检索推文,但是我在Twitter的响应中返回的URL没有一个与oEmbed API兼容,因此我无法显示我得到的推文 我将GET发送到https://api.twitter.com/1.1/search/tweets.json?q=${VARIABLE},以下是我得到的所有URL: display_url: "twitter.com/i/web/status/1…" expanded_url: "

我正在尝试嵌入基于用户搜索词的推文

我可以从Twitter的搜索API中检索推文,但是我在Twitter的响应中返回的URL没有一个与oEmbed API兼容,因此我无法显示我得到的推文

我将
GET
发送到
https://api.twitter.com/1.1/search/tweets.json?q=${VARIABLE}
,以下是我得到的所有URL:

display_url: "twitter.com/i/web/status/1…"
expanded_url: "https://twitter.com/i/web/status/1328842765115920384"
url: [shortened URL that Stack Overflow will not let me print]
但是,对于oEmbed API,url的格式必须为
https://twitter.com/[用户名]/status/[id]


有谁能帮助我如何使用搜索api,然后在屏幕上显示这些Tweet吗?

这里重要的是,您已检索到截断的Tweet,您需要完整的Tweet才能获得正确的URL

首先,在API调用中添加
?tweet_mode=extended
。API v1.1中需要此参数才能检索长度超过140个字符的tweet

GEThttps://api.twitter.com/1.1/search/tweets.json?q=${VARIABLE}&tweet_mode=extended

完成后,您将拥有完整的Tweet对象。但是,它不会包含指向自身的链接—您之前拥有该链接的唯一原因是您正在检索被截断的Tweet,因此API返回了指向完整Tweet的链接

构建原始Tweet URL的方法是将Tweet ID与Twitter状态URL相结合。输入什么用户名无关紧要,因为Twitter将从ID解析

所以在本例中,您有Tweet ID
1328842765115920384
,您可以将其附加到
https://twitter.com/twitter/status/
给出
https://twitter.com/twitter/status/1328842765115920384
将解析为
https://twitter.com/Ashton5SOS/status/1328842765115920384
自动执行

将此URL传递到publish.twitter.com oEmbed端点

还有更多的信息