2016-08-31 15 views
0

私は、stackoverflowコミュニティを援助してくれます。私はPythonでPOST APIを使用してSMSを送信したい、ここで私がしようとしているものです:私もこのリクエストURIを試してみましたTwilio - リソースを介してSMSを送信するapi

response.content  
"<?xml version='1.0' encoding='UTF-8'?>\n<TwilioResponse><RestException><Code>20003</Code><Detail>Your AccountSid or AuthToken was incorrect.</Detail><Message>Authentication Error - No credentials provided</Message><MoreInfo>https://www.twilio.com/docs/errors/20003</MoreInfo><Status>401</Status></RestException></TwilioResponse>" 

>> response = requests.post('https://api.twilio.com/2010-04-01/Accounts/my-account-sid:my-auth-token/Messages', data=post_data) 
私は次のエラーを取得する

>> post_data = {"To": "my-phone-number", "From": TWILIO_NUMBER, "Body": "Test message", "AccountSid": "my-account-sid", "AuthToken":"my-auth-token"} 
>> import requests 
>> response = requests.post('https://api.twilio.com/2010-04-01/Accounts/my-account-sid/Messages', data=post_data) 

同じエラー: -/

私のURIが間違っているか、POSTパラメータが不完全ですか?ドキュメントは、POST APIの正直素晴らしいではありません: -/

アップデート:まだ答えを探している 誰でも、あなたは受け入れ答えを参照するか、以下に示すように、要求を更新することができ、次のいずれか

response = requests.post('https://api.twilio.com/2010-04-01/Accounts/my-account-sid/Messages', data=post_data, auth=('my-account-sid', 'my-auth-token')) 

答えて

1

Twilio開発者のエバンジェリストはここにいる。

ご迷惑をおかけして申し訳ありません。うまくいけば私は助けることができる。

あなたのアカウントのSIDと認証トークンは、HTTP基本認証credentialsであります。あなたのrequest to the Twilio API上のドキュメントは、あなたがこのようなURLでこれらの資格情報を提供することができるはず言うように:

https://{AccountSid}:{AuthToken}@api.twilio.com/2010-04-01/Accounts 

だからあなたの元の要求は、このようなビットになります:あなたがしたよう

>> response = requests.post('https://{{ account_sid }}:{{ auth_token }}@api.twilio.com/2010-04-01/Accounts/{{ account_sid }}/Messages', data=post_data) 

Pythonを使用すると、公式のTwilio Python helper libraryを使用して簡単に見つけることができます。 send an SMS messageにライブラリを使用すると、ビットのようになります。

from twilio.rest import TwilioRestClient 

account_sid = "{{ account_sid }}" 
auth_token = "{{ auth_token }}" 

client = TwilioRestClient(account_sid, auth_token) 

message = client.messages.create(body="Hello from Python", 
    to= MY_PHONE_NUMBER, 
    from_= MY_TWILIO_NUMBER) 

この方法で、あなたが要求を認証する心配する必要はありません、TwilioRestClientオブジェクトはあなたのためにそれを行います。

+0

それを感謝します。私はまた、私の元の質問に欠けていたものを見つけました。私は上記のコメントを追加しました。 – doubleo

関連する問題