1

javascript-qml ベースの Twitter クライアントをコーディングしようとしています。私は、Twitter dev ページでアドバイスされ、Google コードでホストされている oauth javascript ライブラリを使用しています。(http://oauth.googlecode.com/svn/code/javascript/) Twitter 開発ページで言われていることを実行してから、oauth ライブラリの例 (ソース コード、httpヘッダーとwireshark)、しかし私はいつも「401 - oauth署名とトークンの検証に失敗しました」に失敗しました。ベースストリングの前にパラメーターの順序を変更して署名する、getパラメーターを投稿する、ヘッダーの「承認」データを設定するなど、さまざまな方法を試しましたが、毎回失敗しました。私はおそらく愚かで間違ったことをしているのですが、どこにあるのかわかりません。これが私のコードです:

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();

}

誰かが私を助けることができれば! それは安心でしょう!どうも

4

2 に答える 2

0

ターゲット(仮想)マシンの時間が実際の時間から1週間ずれていたため、このエラーが発生しました。時間を更新すると、問題は解決しました。

于 2012-05-31T12:57:40.817 に答える
0

gaetan、401エラーが発生しているので、Twitter APIに関して何か間違っているように聞こえるか、Java Scriptで何か間違っている可能性があるので、QMLとはほとんど関係がないと思います。しかし、私がお勧めできるのは、デモ/宣言型/twitterのqtソースコードディレクターにあるQMLTwitterクライアントを確認することです。多分それはあなたを助けることができます。

于 2011-04-14T17:35:05.017 に答える