0

我正在使用贝宝权限 api 通过贝宝对用户进行身份验证并获得一些权限。

问题是有时/Permissions/GetBasicPersonalData调用会返回“身份验证失败。API 凭据不正确”。即使我从成功调用中获得了令牌和秘密/Permissions/GetAccessToken

奇怪的是,它是非常不可预测的。它有时会失败,有时会与沙箱一起工作,总是在生产中失败(live paypal)。

当它起作用时,它似乎每次都起作用,当它失败时,它每次都开始失败,直到它发生变化。

4

1 回答 1

0

Paypal 在生成 OAuth 签名时会进行一些自定义编码和字符串操作,例如,它会先编码.%2E然后再转换为小写字符串%2e

如果您正在编写自己的 Paypal OAuth 签名生成函数并且您错过了一些步骤,您的签名将无效。您描述的“随机”事情可能是因为不能保证这些特殊字符出现在token/中token secret。当他们不在那里时,它会成功,反之亦然。

我通过从 Paypal 的官方 Ruby SDK 进行位到位的翻译使其工作。(https://github.com/paypal/sdk-core-ruby/blob/master/lib/paypal-sdk/core/util/oauth_signature.rb

于 2015-02-11T10:00:55.790 回答