我按照https://developers.google.com/identity/protocols/application-default-credentials上的教程在Google应用引擎上使用我的应用中的默认凭据。但是,在本地运行应用程序时,我收到401错误(凭据无效)
com.google.api.client.googleapis.json.GoogleJsonResponseException:401 OK {“code”:401,“errors”:[{ “域名”:“全球”, “location”:“授权”, “locationType”:“标题”, “message”:“凭证无效”, “reason”:“authError”}],“message”:“凭证无效”}
这是我使用的代码,包括教程部分:
List<String> scopes = Lists.newArrayList("https://www.googleapis.com/auth/youtube.force-ssl");
try{
// Authorize the request.
GoogleCredential credential = GoogleCredential.getApplicationDefault();
if (credential.createScopedRequired()) {
credential = credential.createScoped(scopes);
}
// This object is used to make YouTube Data API requests.
youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential)
.setApplicationName("youtube-cmdline-captions-sample").build();
} catch (IOException e) {
e.printStackTrace();
}
我安装了Google Cloud SDK,我使用shell授予访问我的Google帐户的权限
答案 0 :(得分:1)
要使用应用程序默认凭据,您需要执行以下几个步骤...您可以按照以下步骤操作,或查看此link。
配置系统变量的命令......
set GOOGLE_APPLICATION_CREDENTIALS "secret.json path" set CLOUDSDK_PYTHON_SITEPACKAGES 1 gcloud config set project "your project name"
在您进行身份验证并自行授权后,您可以开始使用应用程序默认凭据,前提是您已正确设置环境。