2017-02-27 6 views
1

Swift iPhoneアプリで使用するために、PHPでサーバ側のTwilio Programable音声アクセストークンを生成しようとしていますが、アプリにプッシュ通知を登録すると短くなりすぎて失敗します。Twilio AccessTokenがPHPを動作させない

エラー「登録時のサービス通知の例外からの不正な答え:TNException:登録作成できませんでした」である私は、クイックスタートからのコードをPythonでOKトークンを作ることができます

@app.route('/accessToken', methods=['GET', 'POST']) 
def token(): 
    account_sid = os.environ.get("ACCOUNT_SID", ACCOUNT_SID) 
    api_key = os.environ.get("API_KEY", API_KEY) 
    api_key_secret = os.environ.get("API_KEY_SECRET", API_KEY_SECRET) 
    push_credential_sid = os.environ.get("PUSH_CREDENTIAL_SID",  PUSH_CREDENTIAL_SID) 
    app_sid = os.environ.get("APP_SID", APP_SID) 

    grant = VoiceGrant(
    push_credential_sid=push_credential_sid, 
    outgoing_application_sid=app_sid 
) 

    token = AccessToken(account_sid, api_key, api_key_secret,IDENTITY) 
    token.add_grant(grant) 

    return str(token) 

しかし、何かが間違っているPHPに変換 - このコードはエラーをスローし、トークンを作るが、それは570ではなく550文字であり、私が言うように、使用時に登録に失敗する。

変数はすべて同じで、すべてが同じであることを確認しました。

$token = new AccessToken(
    $twilioAccountSid, 
    $twilioApiKey, 
    $twilioApiSecret, 
    3000, 
    $identity 
); 

// Create Voice grant 
$VoiceGrant = new VoiceGrant(); 
$VoiceGrant->setOutgoingApplicationSid($appSid); 
$VoiceGrant->setPushCredentialSid($pushCredentialSid); 

// Add grant to token 
$token->addGrant($VoiceGrant); 

// echo token 
echo $token; 

ヘルプがありますか?

+0

[デバッガはこちら](https://jwt.io/)で取得したトークンを入力し、識別情報を隠してここに結果を投稿できますか?あなたのコードは大丈夫だとは言っても、おそらく何かが見当たりません。 – philnash

+0

私はデバッガがそれを修正するのに役立ったと思います。それは欠けていたアイデンティティでした。あなたが答えとしてそれを置くなら、私は受け入れるでしょう - また感謝 –

+0

ありがとう!私は答えを加えました。それはあなたがアイデンティティを渡しているかのように見えましたが、私は '$ identity'が他の場所で正しく設定されていなかったと推測しています。 – philnash

答えて

2

ここではTwilioの開発者エバンジェリストです。

この状況で最も良いことは、アクセストークンに必要なすべての権限を追加したことを確認することです。

これを行うには、生成したトークンをコピーしてdebugger hereに貼り付けます。あなたがIDのような助成金のグラントまたはセクションが見当たらない場合は、それをあなたのファンクションに正しく渡していることを確認してください。

関連する問題