SalesForce OAuth响应中没有refresh_token

Mik*_*din 7 oauth salesforce force.com apex-code

我正在与自定义APEX服务交互,显然需要OAuth身份验证.我可以轻松验证和授权我的应用程序.一切正常.

但是,我收到的访问令牌往往会过期.

当然,我可以通过发送refresh_token来刷新它.听起来不错.

问题是我没有在SalesForce的响应中收到refresh_token.

我发送请求到[instance] .salesforce.com/services/oauth2/token,我也尝试使用login.salesforce.com/services/oauth2/token,但我在响应中找不到'refresh_token'.那里除了那里有一切!..

vas*_*asu 11

请选中需要启用的选定OAuth范围部分,以便代表您随时执行请求以获取刷新令牌.

Сreate> Apps> API(启用OAuth的设置)> Selected OAuth Scopes.

  • 我不确定为什么"完全访问(完整)"范围是不够的......但事实并非如此.您还必须执行上述操作.非常感谢. (2认同)

Mik*_*din 4

感谢我出色的同事,我已经解决了这个问题。

在检索身份验证代码时,我应该将“refresh_token”添加到范围中。

  • 实际上,除非您正在构建移动应用程序或 In-SalesForce 应用程序,否则不会(或不再)分发刷新令牌。请参阅 http://wiki.developerforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com 并搜索“请注意,仅在出现以下任一情况时才发送刷新令牌”。我花了 4 个小时试图弄清楚为什么它没有给我一个,然后我发现了这一点。:) 不过我很高兴被证明是错的.. (3认同)
  • 你曾经让它发挥作用吗?尽管有范围设置,但我没有获得刷新令牌。 (2认同)