是否可以设置QuickBooks Online访问令牌到期或生命周期

时间:2014-05-02 11:00:12

标签: java quickbooks intuit-partner-platform quickbooks-online intuit

我不确定这是否可行,但oAuth游乐场在:

https://appcenter.intuit.com/Playground/OAuth/IA/?ck=consumer_key&cs=consumer_secret

似乎暗示它是。与消费者密钥/秘密字段一起,存在访问令牌到期字段。随后使用的网址是:

https://appcenter.intuit.com/Connect/SessionStart?grantUrl=https%3A%2F%2Fappcenter.intuit.com%2FPlayground%2FOAuth%2FBeginIAFlow%3Fconsumer_key%3D[my_consumer_key]%26consumer_secret%3D[my_consumer_secret]%26access_token_lifetime%3D300

最后的access_token_lifetime参数是以秒为单位指定访问令牌生存期,但我已尝试将此参数插入我的URL,该参数已发送到请求令牌API和访问权限令牌API(不是同时,只是一个或另一个)。例如,对于请求令牌API,我尝试过:

HttpParameters additionalParams = new HttpParameters();
additionalParams.put("oauth_callback", URLEncoder.encode(callback_url, "UTF-8"));
additionalParams.put("access_token_lifetime", "500");
ouathconsumer.setAdditionalParameters(additionalParams);

String signedRequestTokenUrl = ouathconsumer.sign(REQUEST_TOKEN_URL);
signedRequestTokenUrl += "&access_token_lifetime=500";

...以及访问令牌API:

HttpParameters additionalParams = new HttpParameters();
additionalParams.put("oauth_callback", "oob");
additionalParams.put("oauth_verifier", verifierCode);
additionalParams.put("access_token_lifetime", "500");
consumer.setAdditionalParameters(additionalParams);

String signedURL = consumer.sign(ACCESS_TOKEN_URL);
signedURL += "&access_token_lifetime=500";

两者都没有奏效。 oAuth过程在两种情况下都成功,我的开发人员帐户显示已建立新连接。但即使在500秒后,该连接仍然有效。

但是,没有提及在Intuit文档中为标准oAuth令牌到期(180天)设置访问令牌到期时间,所以我希望这并不意味着它不可能:

https://developer.intuit.com/docs/0025_quickbooksapi/0010_getting_started/0020_connect/0010_from_within_your_app/implement_oauth_in_your_app/token_renewal_and_expiration

1 个答案:

答案 0 :(得分:1)

无法设置自己的令牌生存期。

为什么有人甚至需要这个?