使用PHP的Twilio AccessToken无法正常工作

时间:2017-02-27 02:46:33

标签: php python twilio twilio-php twilio-api

我正在尝试在PHP中生成服务器端Twilio Programable语音访问令牌,以便与Swift iPhone应用程序一起使用,但它在应用程序中注册推送通知时出现的时间太短而失败。

错误是“来自服务的未经授权的回复。注册期间的通知异常:TNException:无法创建注册”

我可以使用快速入门中的代码

在Python中创建令牌
@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时会出现问题 - 这段代码不会抛出任何错误并生成一个令牌,但它的长度为550个字符而不是570个,正如我所说的那样,在使用时无法注册。

变量都是一样的,我已经检查过它们都在那里。

$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;

任何帮助?

1 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

在这种情况下,最好的办法是确保您已添加访问令牌所需的所有资助。

为此,请将生成的令牌复制并粘贴到debugger here中。如果您看到赠款的赠款或部分缺失,请确保您正确地将其传递给您的职能部门。