如何处理 RingCentral OAuth 2.0 "Invalid application" TokenInvalid 错误

How to handle RingCentral OAuth 2.0 "Invalid application" TokenInvalid error

通过以下 cURL 命令使用 OAuth 2.0 Bearer 令牌并收到以下错误时,TokenInvalid "Invalid application" 错误是什么意思以及如何处理此错误?该应用程序在 Developer Portal 中有效,并且相同的令牌适用于 运行 应用程序中的其他 API 调用。

cURL 请求

curl -XGET https://platform.ringcentral.com/restapi/v1.0/account/~ \
-H 'Authorization: Bearer <my_token>'

回应

401 Unauthorized

{
  "errorCode" : "TokenInvalid",
  "message" : "Invalid application",
  "errors" : [ {
    "errorCode" : "OAU-127",
    "message" : "Invalid application"
  } ]
}

RingCentral 运行不同的 API 环境,这些环境使用不同的应用程序定义(客户端 ID 和机密)。在一个环境中有效的令牌和应用程序在另一个环境中可能无效。

发生此错误的一个常见原因是当令牌或应用程序仅在沙盒环境中有效而正在生产环境中使用时。比如向生产环境(https://platform.ringcentral.com) with a token intended for the sandbox environment (https://platform.devtest.ringcentral.com)发起请求就会遇到这个错误。