我正在构建一个需要使用RingCentral API的应用程序。它只是服务器(没有UI),它需要能够发送短信。我在服务器上存储了名称和数字,不需要访问RingCentral的API的任何其他特性。有没有办法为RingCentral获得一个普通的API密钥(就像在使用Google时得到的那种),在这种情况下使用OAuth似乎有点麻烦。
发布于 2016-08-02 08:45:39
RingCentral支持以下带有指向OAuth文档的链接的OAuth 2.0流。
目前不支持静态API密钥。
密码授予只支持私有应用程序(仅供组织使用),因此,如果要创建公共应用程序(供其他组织使用),则需要使用授权代码或隐式授权流。
在RingCentral JavaScript SDK中支持所有三个流。其他SDK支持授权代码和密码授予。
因为您有一个私有的Server-only (No UI)应用程序,所以您可以通过使用密码授予而不用刷新令牌来减轻auth进程的麻烦。这样,您就可以在每个请求上传递密码,而不会产生太多的刷新令牌,这会给应用程序带来生产问题。要做到这一点,请执行以下操作:
refresh_token_ttl令牌请求中将OAuth设置为-1,这样就不会生成刷新令牌发布于 2019-06-21 23:13:04
如果您使用的是专用 Server-only (No UI)平台类型,则它将使用Password flow和Refresh Access Token。
Password flow类型的应用程序使用Oauth grant_type作为密码,它在生成access_token时不那么麻烦,也比较容易。
您只需要在Oauth调用https://platform.devtest.ringcentral.com/restapi/oauth/token中传递以下标头
"Accept":"application/json“
"Content-Type":"application/x-www-form-urlencoded“
"Authorization",:"Basic <ClientID:ClientSecret in base 64> 在正文中,我们需要以以下方式传递参数:
username=<account phone number>&password=<account password>&extension=<your extension>&grant_type=password这很容易,也不像你想象的那么麻烦。
如果您不需要生成refresh_token,并且希望使用access_token获得更简单的响应,那么可以在body中传递refresh_token_ttl=0参数。
在RingCentral中没有所谓的普通API密钥。你将永远拥有一个客户身份和秘密。
https://stackoverflow.com/questions/38668830
复制相似问题