0

我正在關注本教程Hello Analytics API: Java quickstart for service accounts。代碼工作正常。問題是下面的代碼使用了p12密鑰文件,Google僅支持它們的向後兼容性,他們已經開始鼓勵開發人員使用JSon密鑰文件作爲服務帳戶。Json密鑰文件的服務帳戶

// Construct a GoogleCredential object with the service account email 
// and p12 file downloaded from the developer console. 
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); 
GoogleCredential credential = new GoogleCredential.Builder() 
    .setTransport(httpTransport) 
    .setJsonFactory(JSON_FACTORY) 
    .setServiceAccountId(SERVICE_ACCOUNT_EMAIL) 
    .setServiceAccountPrivateKeyFromP12File(new File(KEY_FILE_LOCATION)) 
    .setServiceAccountScopes(AnalyticsScopes.all()) 
    .build(); 

我已經搜索了高和低我找不到一個使用JSon密鑰文件與谷歌API Java庫的例子。我甚至檢查了文檔,但沒有列出GoogleCredential.Builder,但我不確定這個文檔是否是最新的。我試圖檢查庫中的代碼,但我對Java很陌生,無法找到任何有用的東西Google api java client

是否可以在Google API Java客戶端庫中將Json密鑰文件與服務帳戶一起使用?

回答

0

只需使用fromStream方法。

File jsonKey = new File(KEY_FILE); 
InputStream inputStream = new FileInputStream(jsonKey); 
GoogleCredential credential = 
    GoogleCredential.fromStream(inputStream, HTTP_TRANSPORT, JSON_FACTORY); 
相關問題