我有网络应用程序,人们可以从Twitter登录,根据他们的偏好和DOM事件,我需要在Twitter上更新他们的状态。我很清楚如何在服务器端执行此操作,但是对于这个项目我没有使用任何服务器端代码,那么我怎么能通过javascript实现这一点,@ anywhere twitter api和twitter意图带我去哪里因为没有他们提示用户提交我不想要的推文。
答案 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
可以是xml
或json
,并反映响应的格式。所需数据是状态文本,有几个可选参数,我不在此列出。这仅适用于当前经过身份验证的用户。
使用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"
});