Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
twitter客户端javascript qml oauth 401无法验证签名和令牌_Javascript_Twitter_Oauth_Qml - Fatal编程技术网

twitter客户端javascript qml oauth 401无法验证签名和令牌

twitter客户端javascript qml oauth 401无法验证签名和令牌,javascript,twitter,oauth,qml,Javascript,Twitter,Oauth,Qml,我正在尝试编写一个基于javascript qml的twitter客户端。 我正在使用oauth javascript库,这是twitter开发人员页面和 托管在谷歌代码上。(http://oauth.googlecode.com/svn/code/ javascript/) 我一直在尝试从twitter获取请求令牌,方法是 在twitter开发页面上说,然后通过分析oauth库示例 (源代码,http头和wireshark),但我总是失败“401” -无法验证oauth签名和令牌”。 我尝试

我正在尝试编写一个基于javascript qml的twitter客户端。 我正在使用oauth javascript库,这是twitter开发人员页面和 托管在谷歌代码上。(http://oauth.googlecode.com/svn/code/ javascript/) 我一直在尝试从twitter获取请求令牌,方法是 在twitter开发页面上说,然后通过分析oauth库示例 (源代码,http头和wireshark),但我总是失败“401” -无法验证oauth签名和令牌”。 我尝试了很多不同的方法,通过改变顺序 参数,然后对其进行签名,过帐获取参数, 设置标题“授权”数据等,但每次都失败 时间 我可能在做一些愚蠢和错误的事情,但我就是看不见 哪里 这是我的密码:

function getSignature() {
var accessor = { consumerSecret: consumer_secret,
    tokenSecret: oauth_token_secret
};
var message = { method: "POST",
    action: request_token_url,
    parameters: []
};
message.parameters.push(["oauth_callback", OAuth.formEncode(oauth_callback)]);
message.parameters.push(["oauth_consumer_key", consumer_key]);
message.parameters.push(["oauth_nonce", OAuth.nonce(10)]);
message.parameters.push(["oauth_signature_method", signature_method]);
message.parameters.push(["oauth_timestamp", OAuth.timestamp()]);
OAuth.completeRequest(message, accessor);
OAuth.SignatureMethod.sign(message, accessor);
console.log(OAuth.getParameter(message.parameters, "oauth_signature"));
var data = "OAuth oauth_consumer_key="+consumer_key+"&oauth_signature_method="+signature_method+"&oauth_callback="+OAuth.getParameter(message.parameters, "oauth_callback")
    +"&oauth_timestamp="+OAuth.getParameter(message.parameters, "oauth_timestamp")+"&oauth_nonce="+OAuth.getParameter(message.parameters, "oauth_nonce")+"&oauth_signature="+OAuth.getParameter(message.parameters, "oauth_signature");
console.log(data);
request_maker = new XMLHttpRequest();
request_maker.open("POST", request_token_url);
request_maker.setRequestHeader("Authorization", data);
request_maker.onreadystatechange = oth_func;
request_maker.send();
}

如果有人能帮助我!这将是一种解脱!
Thx

gaetan,因为您收到401错误,听起来您可能在Twitter API方面做错了什么,甚至可能在Java脚本方面做错了什么,所以我认为这与QML无关。但我可以推荐的是看看qmltwitter客户端,您可以在demos/declarative/Twitter中的qt源代码控制器中找到它。也许这能帮到你。

我犯了这个错误,因为我在目标(虚拟)机上的时间比实际时间晚了一周。当我更新问题消失的时间时。

Barbaris,不幸的是,qml演示中给出的示例只是关于搜索的,没有显示如何实现oauth协议。我认为我的错误在于oauth签名或我调用twitter api的方式,但我就是找不到where.FWIW,当我的URL参数没有进行百分比编码时,我看到了这个问题,这可能也适用于头数据,例如消费者密钥。如果它是您的替代品,您可以尝试Qt库kQOAuth,它有一个工作的Twitter示例。