2013-02-04 29 views
5

उद्देश्य का उपयोग करने - जावास्क्रिप्टकैसे जावास्क्रिप्ट में ट्विटर v1.1 एपीआई फोन AJAX

का उपयोग कर एक विशेष उपयोगकर्ता के चहचहाना अनुयायियों पाने के लिए मैं एक 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'); 
    } 

}); 

मैं के रूप में नीचे दिए गए कोड की कोशिश की है ट्विटर OAuth उपकरण से गणना हस्ताक्षर मूल्यों .. यह मैं 400 गलत अनुरोध त्रुटि देता है ....

कृपया मुझे पता है कि समस्या क्या है करते हैं ...

उत्तर

1

oauth_ * फ़ील्ड प्राधिकरण शीर्षलेख स्ट्रिंग का हिस्सा हैं, इसलिए उन्हें इस पृष्ठ के निचले हिस्से में दिखाए गए अनुसार 0 -

उन्हें अलग-अलग शीर्षलेख फ़ील्ड के रूप में प्रस्तुत नहीं किया जाना चाहिए।

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"'); 

Btw, इस जावास्क्रिप्ट पुस्तकालय OAuth के सामान पर आपकी मदद कर सकता है: oauth-1.0a

यह दोनों क्लाइंट पक्ष और Node.js का समर्थन

चीयर्स