2017-04-13 8 views
1

{"error": "Unauthorized"、 "status":401、 "message": "許可トークンの取得中にエラーが発生しました"}、私のトークンとのチャット。PythonからちょっとしたチャンネルIDを取得する

url = "https://api.twitch.tv/kraken/channel" 
channel_id = urllib.request.Request(url) 
channel_id.add_header("Client-ID", CLIENT_ID) 

#MY_OAUTH defined as MY_OAUTH = "oauth:123blablabla" 
channel_id.add_header("Authorization: OAuth", MY_OAUTH") 

response = urllib.request.urlopen(channel_id) 
tmpJSON = json.loads(response.read()) 

EDIT:ここget_channel_id機能のペーストビンです:https://pastebin.com/Jm0EuWk9

答えて

0

あなたのAuthorizationヘッダが悪い形成されているようです は、ここでは、コードです。あなたのアクセストークンとしてMY_OAUTHが、私はあなたが書くためのものと考えていると仮定すると:

channel_id.add_header("Authorization", "OAuth " + MY_OAUTH) 

することは確かに、Twitch-API authentication documentationは、HTTPヘッダにアクセストークンを渡すときに、次の要求を実行するお勧めします。あなたのよう

curl -H "Authorization: OAuth [access token]" https://api.twitch.tv/kraken/ 

ヘッダーはAuthorization: OAuth: [access token]の代わりにAuthorization: OAuth [access token]と設定する必要があります。

+0

ああ、私の悪い。とにかく、私はエラーを修正しようとしましたが、_urllib.error.HTTPErrorを取得します。HTTPエラー401:チャットに接続するときに同じOAuthを使用しているため、権限がありません。 EDIT:新しい新しいトークンを使用していても、トークンを切り捨てて、最初に "oauth:"を付けないでください。 –

+0

実際、あなたのトークン文字列は、トークン自体以外の文字を含むべきではなく、 'pk2bh6y1vi8mrn7l67bp9i6dpg2wnk'の形式でなければなりません。あなたは直面している "oauth:"を取り除こうとしましたか?あなたが渡しているアクセストークンであることは確かですか? –

+0

はい、私はそれを昨日修正しました。何らかの理由で私はチャンネルIDを取得できません:サーバーから返されたJSONは、それとは異なる方法です。 APIには、「channel_id」フィールドが必要です。 curlを使用して同じパラメータを使用すると、JSON文字列は正しいです。 –

関連する問題