0

tumblr の chrome 拡張機能を作成しています。ライブラリ jsoauth を使用して oauth 部分を実行していますが、401 エラーが発生します。

正確なエラーは、「oauth_signature [D6rDCSn/ClGhMyTq24/c6419t8I=] が期待値と一致しません [wnrVNhZYCSfRmKSTaKyb9dg7vNQ=]」です。

何が原因なのかわかりません。ここに私が持っているコードがあります:

Background.html

<html>
    <script type="text/javascript" src="jsOAuth-1.3.6.min.js"></script>
    <script type="text/javascript" src="background.js"></script>
</html>

background.js

function getAccess(){
  var oauth, options;

    options = {
        consumerKey: 'KEY',
        consumerSecret: 'SECRET',
        requestTokenUrl: "http://www.tumblr.com/oauth/request_token",
        authorizationUrl: "http://www.tumblr.com/oauth/authorize",
        accessTokenUrl: "http://www.tumblr.com/oauth/access_token"
    };

    oauth = OAuth(options);

    oauth.fetchRequestToken(openAuthoriseWindow, failureHandler);

    function openAuthoriseWindow(url)
    {
        var wnd = window.open(url, 'authorise');
        oauth.setVerifier(false);
        oauth.fetchAccessToken(output,failureHandler);

        function output(url)
        {
            console.log("success!");
        }
    }

    function failureHandler(data)
    {
        console.error(data);
    }
}

chrome.extension.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request.greeting == "getAccess"){
      sendResponse({farewell: "It worked"});
      getAccess();
    }
});
4

1 に答える 1

1

False は、oauth_verifier として送信するのは間違っています。

Tumblr は、ファイルにある oauth_callback にリダイレクトします。これには、jsOAuth の .setVerifier に組み込む必要がある oauth_verifier が含まれています。

Tumblr API のドキュメントでは、ouath 承認プロセスについて多くの説明が欠けていますが、それは私の意見です。

于 2012-10-16T19:50:31.093 に答える