2013-02-04 3 views
5

狙いを使用してJavaScriptでのTwitter v1.1のAPIをコールする - javascriptのどのようにAJAX

を使用して、特定のユーザーのTwitterのフォロワーを取得するために、私はPOC-

$(document).ready(function() { 
    // Handler for .ready() called. 

    $.ajax({ 
     url: "https://api.twitter.com/1.1/followers/ids.json?callback=?", 
     type: "GET", 
     data: { cursor: "-1", 
       screen_name: "twitterapi" }, 
     cache: false, 
     dataType: 'json', 

     success: function(data) { alert('hello!'); console.log(data);}, 
     error: function(html) { alert(html); }, 
     beforeSend: setHeader 
    }); 


    function setHeader(xhr) { 
     if(xhr && xhr.overrideMimeType) { 
      xhr.overrideMimeType("application/j-son;charset=UTF-8"); 
     } 

     //var nonce = freshNonce(); 
     //var timestamp = freshTimestamp(); 
     //var signature = sign(nonce,timestamp); 

     //alert(signature); 
     //alert(accessToken+"-"+consumerKey); 
     //alert(oauth_version+"-"+oauth_signature_method); 
     xhr.setRequestHeader('Authorization','OAuth'); 
     xhr.setRequestHeader('oauth_consumer_key', 'HdFdA3C3pzTBzbHvPMPw'); 
     xhr.setRequestHeader('oauth_nonce', '4148fa6e3dca3c3d22a8315dfb4ea5bb'); 
     xhr.setRequestHeader('oauth_signature','uDZP2scUz6FUKwFie4FtCtJfdNE%3D'); 
     xhr.setRequestHeader('oauth_signature_method', 'HMAC-SHA1'); 
     xhr.setRequestHeader('oauth_timestamp', '1359955650'); 
     xhr.setRequestHeader('oauth_token', '1127121421-aPHZHQ5BCUoqfHER2UYhQYUEm0zPEMr9xJYizXl'); 
     xhr.setRequestHeader('oauth_version', '1.0'); 
    } 

}); 

Iとして、以下のコードを試してみました ... TwitterのOAuthのツールから署名値を算出した。これは私に400不正な要求エラーを与える....

私は問題が何であるかを教えてください...

答えて

1

oauth_ *フィールドはすべてAuthorizationヘッダー文字列の一部です。したがって、このページの下部に示すように連結する必要があります。https://dev.twitter.com/docs/auth/authorizing-request

これらは、別々のヘッダーフィールドとして表示しないでください。

3

は問題があなたのリクエストのヘッダで、それは次のようにする必要があります:ところで

xhr.setRequestHeader('Authorization','OAuth oauth_consumer_key="HdFdA3C3pzTBzbHvPMPw", oauth_nonce="4148fa6e3dca3c3d22a8315dfb4ea5bb", oauth_signature="uDZP2scUz6FUKwFie4FtCtJfdNE%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp= "1359955650", oauth_token, "1127121421-aPHZHQ5BCUoqfHER2UYhQYUEm0zPEMr9xJYizXl", oauth_version="1.0"'); 

、このJavaScriptライブラリはOAuthののものであなたを助けるかもしれない:oauth-1.0a

それはクライアント側とNode.jsの両方をサポート

乾杯