Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 来自谷歌云构建api Oauth的问题_Google Cloud Platform_Google Cloud Build - Fatal编程技术网

Google cloud platform 来自谷歌云构建api Oauth的问题

Google cloud platform 来自谷歌云构建api Oauth的问题,google-cloud-platform,google-cloud-build,Google Cloud Platform,Google Cloud Build,直到上周,我们打给GCP的电话一直在100%正常工作。上周发生了一些事情,我们现在间歇性地得到了401(好吧,更像是一遍又一遍,然后它神奇地再次开始工作)。我还没有让它从我的本地机器上失败,只是在云端运行 这里是错误 json error='{ "error": { "code": 401, "message": "Request had invalid authentication credentials

直到上周,我们打给GCP的电话一直在100%正常工作。上周发生了一些事情,我们现在间歇性地得到了401(好吧,更像是一遍又一遍,然后它神奇地再次开始工作)。我还没有让它从我的本地机器上失败,只是在云端运行

这里是错误

json error='{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}
我们希望与google cloud build对话,使其在本地或在云中运行,因此我们生成了一个json令牌。如果过期了,我想,我们得到的401不是断断续续的,为什么它在我的本地机器上工作


我们正在使用从json文件创建的访问令牌。但我忘了我们是如何创建这个json文件的。仍在挖掘这些信息。

所以我们发现,我们已经将这些代码移到了构造函数中

        GoogleCredentials scoped = credential.createScoped(scopes);
        scoped.refreshIfExpired();
        AccessToken accessToken = scoped.getAccessToken();
将其移回请求路径并刷新每个请求(可能最终需要修复)可以解决此问题

我仍然很好奇,“为什么我不必时不时地刷新我的*.json文件?”我假设如果我的*.json保持不变1年,这就开始成为一种安全风险,对吗

谢谢,
Dean

如果没有产生此错误的确切请求的详细信息,我们只能猜测。通过显示生成OAuth令牌并发出HTTP请求的代码,重新创建您的问题。包括完整的HTTP请求和标题。除了上面John的评论之外,在错误开始出现后是否有任何新的部署,如果没有,在中打开错误报告可能会很有趣,因为这可能是云构建本身的问题,如果没有,他们可能会在排除故障时发现项目中的错误。我们已经解决了问题(发布了答案),但是,我仍然不确定*.json文件过期的原因或时间。它会过期吗?我的意思是,就像ssl证书一样,它应该在一年后过期,对吗?还是不?