【问题标题】:How to get new token after calling reconnect api of Intuit? [duplicate]调用 Intuit 的 reconnect api 后如何获取新令牌? [复制]
【发布时间】:2014-08-06 06:08:52
【问题描述】:

我编写了重新连接 Intuit 的代码。我的代码是:

client.reConnect(INTUIT_QB_OAUTH_CONSUMER_KEY,INTUIT_QB_OAUTH_CONSUMER_SECRET,
"accessTOken","accessTokenKeySecret");

我不能确定它是否有效。测试它的最佳方法是什么?我浏览了直觉的思考页面:https://appcenter.intuit.com/Playground/OAuth/IA/ 但我对此没有太多想法。

我面临的另一个主要问题是,如何再次获得新令牌?? 根据 intuit 检查表的定义,我们不应再次调用 OauthFlow。

.................................................. ..................................................... ....................

添加部分问题:

我知道,Playground 帮了我很多忙。 但是我正在寻找一种机制来获取新的 accessToken 和 accessTokenSecret 在我调用 reconnect api 之后。我调用api如下:

IAPlatformClient client = new IAPlatformClient();
            client.reConnect(INTUIT_QB_OAUTH_CONSUMER_KEY,INTUIT_QB_OAUTH_CONSUMER_SECRET,
"accessTOken","accessTokenKeySecret");

这很好,因为如果我尝试使用数据库中的旧令牌,它会抛出 Intuit 定义的异常。

我必须使用调度程序机制运行此代码。调用 reconnect api 后,我必须更新数据库上现有的密钥但我无法获取那些新生成的密钥。所以,请建议我返回新的 accessToken 和 accessTokenSecret 的机制。

我试过这个:

Map<String, String> requesttokenmap=client.getRequestTokenAndSecret(INTUIT_QB_OAUTH_CONSUMER_KEY,INTUIT_QB_OAUTH_CONSUMER_SECRET);

那么,

final Map<String, String> oauthAccessTokenMap =
             client.getOAuthAccessToken(verifierCode, requesttokenmap.get(IntuitSSOConstants.REQUEST_TOKEN),
             requesttokenmap.get(IntuitSSOConstants.REQUEST_TOKEN_SECRET),
             PropsUtil.get(CommonConstants.INTUIT_QB_OAUTH_CONSUMER_KEY),
             PropsUtil.get(CommonConstants.INTUIT_QB_OAUTH_CONSUMER_SECRET));

但我不会有 verifierCode 代码,它必须作为参数在最后一个代码块中传递。

那么,我怎样才能获得 accessTokenaccessTokenSecret

【问题讨论】:

    标签: java oauth intuit-partner-platform intuit


    【解决方案1】:

    请参考这个 SO 线程。 QuickBook Online Reconnect & expire Issue

    对于您的第一个 Qts,请查看 - https://developer.intuit.com/docs/0025_quickbooksapi/0053_auth_auth/oauth_management_api

    请找到以下步骤来获取 OAuth 令牌,您可以使用这些令牌对您的 QBO 帐户进行 API 调用。 如果你在 appcenter 中创建一个应用,你会得到 consumerKey 和 consumerSecret。 https://developer.intuit.com/Application/Create/IA

    使用上述两个令牌,您可以从 OAuthPlayground 生成 accessToken 和 accessSecret。 https://appcenter.intuit.com/Playground/OAuth/IA PN - 完成 C2QB(OAuth) 流程后,您应该使用“应用程序菜单 API 测试”。选项将显示 accessToken 和 accessSecret。

    以上所有步骤都在此提及-https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0150_ipp_.net_devkit_3.0/0002_synchronous_calls/0001_data_service_apis

    谢谢

    【讨论】:

    • 感谢您的回答。我已经创建了应用程序,并且有 consumerkey 和 consumerSecret。而且我也能够成功调用重新连接 api。但是在调用 reconnect api 之后,我怎样才能根据请求取回这些新令牌,以便我可以再次将这些令牌保存在我的数据库中。
    • 默认情况下,accesstoken和accessSecret有效期为6个月。仅当您的令牌超过 150 天(developer.intuit.com/docs/0025_quickbooksapi/0053_auth_auth/…。为方便使用,本向导在 OAuthPlayground 工具中实现。
    • 谢谢。我已经实现了 C2QB 并且一切正常,只有一个问题是如何获取更新的令牌。请参阅我的问题:我添加了有关重新连接时问题的附加部分。请再次检查我的问题。
    • 以下两句话是矛盾的。 “我已经实现了 C2QB 并且一切正常”和“只有一个问题是如何获取更新的令牌”。如果一切正常,那么您应该在回调中获取 accessToken 和 accessSecret。参考示例应用程序中的 impl - github.com/IntuitDeveloperRelations/QuickbooksV3API-Java/blob/…。重新连接API 不是上述用例的解决方案。仅当您的令牌超过 5 个月时才适用(如上所述和文档)。
    • 我猜你有这个答案:stackoverflow.com/questions/26956043/…
    猜你喜欢
    • 2020-04-26
    • 1970-01-01
    • 2021-02-16
    • 2016-09-15
    • 2020-07-26
    • 2019-11-26
    • 1970-01-01
    • 2014-07-15
    • 2014-10-09
    相关资源
    最近更新 更多