【问题标题】:Refresh token not changing QuickBooks-V3-PHP-SDK OAuth 2.0刷新令牌不改变 QuickBooks-V3-PHP-SDK OAuth 2.0
【发布时间】:2018-04-12 01:40:07
【问题描述】:

根据 sdk 文档。 https://intuit.github.io/QuickBooks-V3-PHP-SDK/authorization.html

"这就是refresh token的作用。用于在access token过期后请求新的access token,所以一个小时后你仍然可以访问QBO公司。记住,每当你调用refreshToken API时,始终在您的会话或数据库中存储最新的 REFRESH TOKEN 值”

是这样的:所以我的访问令牌已过期,我需要获取一个新的,我将运行下面的代码。

$loginHelper = new OAuth2LoginHelper($this->clientID, $this->clientSecret);
$token = $loginHelper->refreshAccessTokenWithRefreshToken($this->refreshToken);

然后上面代码中的令牌变量将使用此代码为我提供新的访问令牌。

$token->getAccessToken();

成功了,我现在有了新的访问令牌。

但是,刷新令牌似乎并没有改变快速手册中所说的“存储最新的刷新令牌”,但 $token obj 返回是相同的。

我用于请求新访问令牌的刷新令牌是:

string(50) "Q011532218006WxAY7UnIdulGDJAcgnaoTi7pIkHVaaQld9Me3"

然后返回我的请求:

QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken 对象
    (
        [accessTokenKey:QuickBooksOnline \ API \核心\的OAuth \的OAuth2 \ OAuth2AccessToken:私人] => eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..llxj6kOGCzFiqBShGPUtbg.rNbEdMvhD0iER3z4IwB-azYbbk9givKxtaiDh7Uch8HbmZLkF7-xckpgiMDk8V5lYwYOCfP1EaPFa0iJlpbNPZdT7RBfPIkEqotTVfP0UNPwC13a37PpYHOvg_Sxbp_5GuOvdIa1RVskn4tY_FIOaCVnTaxuDF4MWNKOxsitHEoYxzVVcdqigTWri9yfIA6ZqO2vTAc92iTsa30L9jYcFeEdaNVaPt7zyM-y_FzY2W72uq8fyYjpv-fmvWMwv94pCJ6VoV82rM7OmLh5sOWORKfcZJ0xDLMrKddUPnA0GVl3mb3E6D-JyQ2-N2AYNW553nryI9f9iuoAqv7f6bXhzmaO-ByN0xtDEt9E48CFN-tyA_qShtwmEUajhsq0XFrUZgR0rtEq2kSvj79v3-sX1P7qCjPPrGK2q12VQ24DbVWnDYDZslYh9nyJGtiZgXu-GWFNKhfaXI76U_ASC2yefrcWu6ioIdDrn8j75B9AZgg3GpBqkT7H2qHWGqieeuJmcuFVoYIJUiztZNrDWYvmCJv_w2KlG911GHqLO7K7AznzpiSdIWwGXVBSxYRBbCVQTFJge1SYkXYOWj1OP9aFttpxRNX_ctiAiqV5IA9JBs_T3H4w6mGYRt4NpXZCMn3Yguwc1LekmCn0r83taHjvOT0_l78c1zv2nWC_ADKgdd1lPLMzQHiNWnHCDIBrRYm0.h0WaCjevbfdig0G-zQM9eA
        [tokenType:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => 持有者
        [refresh_token:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => Q011532218006WxAY7UnIdulGDJAcgnaoTi7pIkHVaaQld9Me3
        [accessTokenExpiresAt:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => 1523499723
        [refreshTokenExpiresAt:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => 1532218006
        [accessTokenValidationPeriod:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => 3600
        [refreshTokenValidationPeriod:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => 8721883
        [clientID:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => Q032lsDMTnotxhcOudLOpyfYuDXfB9xEMWpMRpvFIwW1VV1eyQ
        [clientSecret:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] => Ml3Id7ZgeVNzAbxecHwzrBmuKeQXw7kljlwT84
        [realmID:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] =>
        [baseURL:QuickBooksOnline\API\Core\OAuth\OAuth2\OAuth2AccessToken:private] =>
    )
    

【问题讨论】:

  • 可以分享您用于使用刷新令牌生成新访问令牌的完整 PHP SDK 代码吗?

标签: php quickbooks quickbooks-online


【解决方案1】:

根据 quickbooks 开发人员的说法,“之前的刷新令牌在您创建新令牌后 24 小时后过期。因此,从刷新到接下来的 24 小时,您将获得相同的刷新令牌。”

阅读更多:Click Here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 2015-11-04
    • 2014-09-22
    • 2015-05-17
    • 2015-04-01
    • 2017-01-11
    相关资源
    最近更新 更多