2016-05-13 10 views
0

問題があります。私は、TwitterでOAuthのツールによって生成されたAuthorizationヘッダーを持ってTwitter API設定jQuery AJAXの認証ヘッダー

Authorization: OAuth oauth_consumer_key="xxxxxxxxxxxxxxxx", oauth_nonce="xxxxxxxxxxxxxxxx", oauth_signature="xxxxxxxxxxxxxxx", oauth_signature_method="HMAC-SHA1", oauth_timestamp="xxxxxxxxx", oauth_version="1.0" 

(私は、キーの値を隠した)そして私は、AJAXコードがあります。

$.ajax({ 
    url: 'https://api.twitter.com/1.1/search/tweets.json?q=%23freebandnames&since_id=24012619984051000&max_id=250126199840518145&result_type=mixed&count=4', 
    type: 'GET', 
    beforeSend: function (xhr) { 
      xhr.setRequestHeader('Authorization', 'OAuth oauth_consumer_key="xxxxxxxxxxxxxxx", oauth_nonce="xxxxxxxxxxxxxxx", oauth_signature="xxxxxxxxxxxxxxx", oauth_signature_method="HMAC-SHA1", oauth_timestamp="xxxxxxxxx", oauth_version="1.0"'); 
     }, 
    dataType: "jsonp", 
    success: function(data) { 
     console.log("Success: " + data); 
     } 
    }, 
    error: function(data) { 
     console.log("Error " + data); 
    } 

}); 

をしかし、このコードは、エラー

Object {readyState: 4, status: 404, statusText: "error"} 
を返さ

ここに私が使用しているドキュメントTwitter REST APIの一部があります: https://dev.twitter.com/rest/reference/get/search/tweets

どうしたの?何か案は?

答えて

1

ウェブページから認証ヘッダーの生成をサポートしていません。自分のサイトを使って認証し、あなたのウェブページにリダイレクトする "握手"を通過する必要があります。

これを避け、oauthキーをローカルに保持するには、保存されたキーを使用して認証できるサーバーを構築する必要があります。その後、あなたのウェブページはあなたのサーバー経由でTwitterリクエストを行います。

+0

ベアラトークンとアプリケーションのみの承認を使用できませんか? – Ketema

+0

私はそれが可能だと思います - AJAXを使用して、base64でエンコードされたキーと秘密のPOSTコマンドを送信します。返されたデータからアクセスコードを取得してください。もちろん、世界にあなたの信用証明を公開しているので、Twitterはあなたを嫌っています:) – Jonas

関連する問題