0

我试图让用户从我的 jQuery 应用程序中发布链接。基本上,他们创建自己的页面,然后选择一些社交网络进行分享。单击“共享”后,应用程序会循环显示社交网络复选框,并根据选择向每个复选框发布信息。

我正在努力为 Twitter 找到一个好方法——无论我在网上看什么,我似乎都得到了相互矛盾的建议。

所以,基本上,应该发生的是:

  • 用户在我的应用程序中选择“Twitter”复选框,然后点击“分享”。
  • 然后应用程序应该在后台生成一个 url,并为用户的帐户创建一条推文。
  • 如有必要,然后可以从 Twitter 向用户显示一个验证框(大概他们需要登录并验证推文)
  • 推文被添加到他们的 Twitter 提要中。

听起来不是很复杂,但是我找不到方法!

编辑

感谢下面的回复,我现在得到了以下代码:

var serverUrl = 'https://twitter.com/intent/tweet?url="www.rocketreel.com"&text="Test"';

$.ajax({
  type: "GET",
  url: serverUrl,
  success: function(data) {
},

error: function(data) {
  var obj = jQuery.parseJSON(data);
  alert(obj.error);
  }
});

现在,当我运行它时,我得到(在控制台中):

XMLHttpRequest cannot load https://twitter.com/intent/tweet?url=%22www.mysite.com%22&text=%22Test%22. Origin null is not allowed by Access-Control-Allow-Origin.

我目前无法从实际站点运行它,所以我使用 localhost - 这就是我得到这个的原因吗?

4

1 回答 1

1

您是否尝试过阅读api文档?

https://dev.twitter.com/docs/tweet-button

https://twitter.com/about/resources/buttons#tweet

您可以检查推文按钮的代码并执行推文按钮后面的代码。很直接...

这是被调用的网址:

https://twitter.com/intent/tweet?original_referer=yoururl.com&source=tweetbutton&url=http://urltotweet.com&text=[text to tweet]

更新:

您遇到了跨源问题。除非您使用一些解决方法(CORS,代理,......因为您无法修改 twitter api,代理是您唯一的选择,否则您无法通过 ajax 从其他来源加载数据。但这也可能带来并发症..) 你可能甚至不需要。

只需打开一个位置为... window.open(...)的新窗口,或者使用提供的 url 创建一个iframe,而不是通过 ajax 加载完整的页面。

于 2012-09-28T10:59:57.737 回答