Twitter Web Intents告诉我“抱歉,该页面不存在”

时间:2014-02-12 05:14:22

标签: javascript angularjs twitter

根据Twitter Web Intents documentation,我认为我应该能够创建以下链接,并让他们正确地打开一个Web Intents窗口到twitter。 Web Intents窗口正常打开,但是我收到错误“抱歉,该页面不存在”。这就是我所做的。

我将以下脚本标记添加到我的Angular模板中:

<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>

然后,我对每条推文都有一个ng-repeat,其中包含以下代码:

<p><a ng-href="http://twitter.com/intent/tweet?in_reply_to={{ tweet.id }}">Reply</a></p>
<p><a ng-href="http://twitter.com/intent/retweet?tweet_id={{ tweet.id }}">Retweet</a></p>
<p><a ng-href="http://twitter.com/intent/favorite?tweet_id={{ tweet.id }}">Favorite</a></p>

对于页面上的每条推文,都会生成正确的HTML。如果推文的id为431111460186759200,则会为这些链接生成以下html:

<p><a ng-href="http://twitter.com/intent/tweet?in_reply_to=431111460186759200" href="http://twitter.com/intent/tweet?in_reply_to=431111460186759200">Reply</a></p>
<p><a ng-href="http://twitter.com/intent/retweet?tweet_id=431111460186759200" href="http://twitter.com/intent/retweet?tweet_id=431111460186759200">Retweet</a></p>
<p><a ng-href="http://twitter.com/intent/favorite?tweet_id=431111460186759200" href="http://twitter.com/intent/favorite?tweet_id=431111460186759200">Favorite</a></p>

当我点击这些链接时,将使用正确的URL以推荐的大小(感谢我嵌入的widget.js文件)打开正确的模式。但是,它没有显示Web Intent屏幕,而是显示以下内容:

What Actually Happens

这里有没有人有足够的Twitter及其网络意图的经验来帮助我?

1 个答案:

答案 0 :(得分:1)

这只是因为没有id为431111460186759200的推文。 如果您尝试使用id 431216327143858177,它可以正常工作:https://twitter.com/intent/tweet?in_reply_to=431216327143858177

如果您的代码引用的推文仍然存在,请尝试使用tweet.id_str而不是tweet.id。例如,Javascript无法处理与tweet ID一样大的数字,例如431216327143858177变为431216327143858200。使用id_str,您可以确定它适用于任何语言。

顺便说一句,最好使用https链接而不是http链接。