2017-02-27 2 views
1

Swift iPhone 응용 프로그램과 함께 사용하기 위해 PHP에서 서버 측 Twilio 프로그래밍 가능 음성 액세스 토큰을 생성하려고하는데 너무 짧아서 앱에 푸시 알림을 등록 할 때 실패합니다 .Twilio AccessToken이 PHP가 작동하지 않습니다.

오류 ". 등록하는 동안 서비스 통지 예외 무단 답 : TNException : 등록 만들 수 없습니다"입니다 나는 빠른 시작에서 코드를 파이썬에서 확인 토큰을 만들 수 있습니다

@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에 붙여 넣으십시오. 신원이 누락 된 것과 같은 보조금의 승인 또는 섹션이 표시되면이를 올바르게 귀하의 기능에 전달하는지 확인하십시오.