1
当我尝试在谷歌Apps域名模拟用户使用 setServiceAccountUser()验证谷歌云端硬盘API我得到尽可能冒充用户失败(Java客户端)
响应com.google.api.client.auth.oauth2.TokenResponseException:403 OK { “error”:“access_denied”,“error_description”:“请求的客户端 未授权。” }
下面是我的代码:
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(SERVICE_ACCOUNT_ID)
.setServiceAccountUser("[email protected]")
.setServiceAccountScopes(scope)
.setServiceAccountPrivateKey(privateKey)
.build();
Drive service = new Drive.Builder(httpTransport, jsonFactory,null).setHttpRequestInitializer(credential).setApplicationName(AppName).build();
File body = new File();
body.setTitle("Export");
body.setMimeType("application/vnd.google-apps.spreadsheet");
service.files().insert(body).execute();
提前感谢!
Ram Balaji Subbaiyan。
如果您的应用程序访问驱动器,则应包含范围。否则它会抛出这个错误。您可以尝试检查此链接http://stackoverflow.com/questions/27035665/gmail-api-service-accounts-return-403-error – KRR