在不提示用户使用纯JavaScript的情况下更新Twitter状态

时间:2011-08-07 12:55:33

标签: javascript twitter

我有网络应用程序,人们可以从Twitter登录,根据他们的偏好和DOM事件,我需要在Twitter上更新他们的状态。我很清楚如何在服务器端执行此操作,但是对于这个项目我没有使用任何服务器端代码,那么我怎么能通过javascript实现这一点,@ anywhere twitter api和twitter意图带我去哪里因为没有他们提示用户提交我不想要的推文。

2 个答案:

答案 0 :(得分:3)

在不损害您的消费者密钥的情况下,无法使用纯粹的Javascript解决方案来使用Twitter API。 Twitter API使用HMAC-SHA1令牌对每个请求进行身份验证,使用twitter分配给您的api帐户的公钥/私钥生成SHA1令牌。如果您打算使用纯javascript SHA1实现生成此令牌,那么这意味着您将在javascript代码中公开您的私钥,任何人都可以查看。

即使技术上可行(假设你可以找到一个实现SHA1的javascript库),这是不可取的。

仅供参考,jQuery.Ajax方法允许您通过点击beforeSend(jqXHR,settings)方法来修改ajax请求的标头。

答案 1 :(得分:0)

您应该能够通过对REST API的AJAX POST请求来执行此操作。文档:https://dev.twitter.com/docs/api/1/post/statuses/update

您定位网址http://api.twitter.com/1/statuses/update.format,其中format可以是xmljson,并反映响应的格式。所需数据是状态文本,有几个可选参数,我不在此列出。这仅适用于当前经过身份验证的用户。

使用jQuery的一个(未经测试的)示例:

var message = "This is a tweet, there are many like it but this one is mine";

$.ajax({
    type: "POST",
    url: "http://api.twitter.com/1/statuses/update.json",
    data: "status="+message,
    datatype: "json"
});