【问题标题】:Twitter authentication with Javascript使用 Javascript 进行 Twitter 身份验证
【发布时间】:2011-11-11 23:41:12
【问题描述】:

我想根据此文档http://dev.twitter.com/doc/post/oauth/request_token 获取 access_token。我使用 javascript。

$.ajax({
    url: "http://api.twitter.com/oauth/request_token",
    type: "POST",
    contentType: "json",
    data: {
        oauth_consumer_key: "DFwQqCnOTaYVbZQdBFqpR",
        oauth_signature_method: "HMAC-SHA1",
        oauth_timestamp: parseInt((new Date()).getTime() / 1000),
        oauth_nonce: "R" + parseInt((new Date()).getTime() / 1000),
        oauth_version: "1.0"
    },
    success: function (data) {
        debugger;
    },
    error: function (a, b, c) {
        debugger;
    }
});

但它根本不起作用。总是返回错误,永远不会成功。

【问题讨论】:

  • 请将代码缩进四个空格,而不是添加 HTML 标记。
  • 嗨,亚历山大。您可以使用 4 个空格(或问题输入表单中的 {} 按钮)来格式化您的代码,使其更具可读性,就像我在上面所做的那样。此外,html br 元素不是必需的(实际上被忽略了)
  • 另外,请定义“不起作用” - 您看到的究竟是什么行为?
  • 也许是个愚蠢的建议,但只是为了确定;你确定你的 HTML 中也包含了 jQuery 吗?

标签: javascript twitter-oauth


【解决方案1】:

检查 Twitter 的 @Anywhere JavaScript 库提供的用户登录和注册。 https://dev.twitter.com/docs/anywhere/welcome#login-signup

这可能正是您想要的,比原始 OAuth 更易于使用。

【讨论】:

  • 附加网址失效,请更新为新网址
【解决方案2】:

您没有签署您的请求。您可以在dev.twitter.com 上阅读有关如何签署 OAuth 请求的更深入说明。您可能希望使用 JavaScript library 来生成 oauth_signature。

【讨论】:

    【解决方案3】:

    您可能在api.twitter.com 域之外调用此脚本。试试dataType: "jsonp"

    【讨论】:

    • 它没有帮助。响应说:无法验证 oauth 签名和令牌。
    • “b”和“c”为空。 "a" 有参数 error="error"。就是这样
    • 在 Firebug 的 Net 选项卡中,我看到了请求的状态。它是“401 未授权”
    猜你喜欢
    • 2018-05-03
    • 2012-08-06
    • 2013-02-26
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 2011-08-04
    相关资源
    最近更新 更多