如何使用 Java SDK 和 oAuth 2.0 通过 Quickbooks Online API 检索发票

How to retrieve an invoice with Quickbooks Online API using Java SDK and oAuth 2.0

如何使用 Java SDK 从 Quickbooks Online 检索发票?我目前正在从 oAuth 1.0 迁移到 2.0,库升级已经删除了我以前用来检索 PDF 格式发票的方法。我正在使用的新库是:

以前,我一直在做这样的事情:

OAuthConsumer consumer = new DefaultOAuthConsumer(consumerKey, consumerSecret);
consumer.setTokenWithSecret(accessToken, accessTokenSecret);  

String urlStr = String.format(
    "https://quickbooks.api.intuit.com/v3/company/%s/invoice/%s/pdf", realmId, invoiceId);

URL url = new URL( urlStr );
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/pdf");
connection.setUseCaches(false);

consumer.sign(connection);
connection.connect();

...但是 OAuthConsumer 现在不见了。是否有一些我可以用来签署请求的替代品,或者是否有某种方式可以用 DataService 对象来完成?

您可以使用带有 OAuth2Authorizer 对象的 oAuth2 以相同的方式签署您的请求,例如

URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
OAuth2Authorizer oauth = new OAuth2Authorizer(accessToken);
oauth.authorize(connection);