2017-02-18 8 views
0

私はTwilioが新しく、私はPython経由でSMSを送受信しようとしています。ここに私のコードですHTTP検索エラーTwilio

import os 
from twilio.rest import TwilioRestClient 
from twilio import twiml 
from flask import Flask, request, redirect 

app = Flask(__name__) 
port = int(os.environ.get('PORT', 5000)) 


# put your own credentials here 
ACCOUNT_SID = "..." 
AUTH_TOKEN = "..." 

client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN) 

def respond (recipient, twilio_account, body): 

    message = client.messages.create(
     to=recipient, 
     from_=twilio_account, 
     body=body, 
    ) 

@app.route('/sms', methods=['POST']) 
def receive_sms(): 
    number = request.form['From'] 
    body = request.form['Body'] 
    # print "Message received from {0} saying {1}".format(number, body) 
    response_message = "Message received from {0} saying {1}".format(number, body) 

    resp = twiml.Response() 
    resp.message(response_message) 
    return str(resp) 

if __name__ == '__main__': 
    app.run(debug=True, host="0.0.0.0", port=port) 

私はいつもテキスト私のTwilio番号を取得しています。何が起こっている?

答えて

2

このエラーindicates that Twilio didn't receive a response from your code within 15 seconds

あなたのコードが遅く実行される理由はありませんが、Twilioはコードにアクセスできないことがあります。インターネットからローカルネットワークに要求を出すために何らかの措置を講じましたか?

有用な戦略の1つは、外部からのトラフィックをトンネリングするためにまだ開発中のngrokのようなものを使用することです。あなたのlocalhostのポート5000にしてngrokあなたはcan run

ngrok http 5000 

トンネルトラフィックにインストールした後、次にngrokトンネルに接続するようにTwilioを設定します。

+0

私はngrokが別の方法だと理解していますが、これが原因でエラーが発生する理由がわかりません。 –

+0

@JeremyFisher、TwilioはアプリケーションのURLをヒットできる必要があります。これを実現させる簡単な方法の1つはngrokです。他にも(たとえば、静的IPアドレスがない場合は動的DNSツールと組み合わせてポート転送を使用できます)。そんなことをしましたか? – Chris

+0

@JeremyFisher、これを手に入れることができましたか? – Chris