[英]Firebase App Distribution "Your client does not have permission to get URL"
[英]error 403: Your client does not have permission to get URL in python google cloud module
更新:根据我们的系统专家告诉我的,他们解决了如下问题:必须在他们所在的操作系统中禁用 v6 ips。
我在服务器上有一个 python 文件,计划每周运行一次。 像这样:
from google.cloud import bigquery
gbq_credentials = create_gc_credentials(settings)
client = bigquery.Client(credentials=gbq_credentials,project=project_id)
df = client.query(sql_query).to_dataframe()
#data processing
....
但是每周运行的文件今天出错了:
Error 403 (Forbidden)!!1
Your client does not have permission to get URL <code>/bigquery/v2/projects/xxxx/jobs</code> from this server.
当我在本地计算机上运行相同的文件时,我没有收到任何错误。
我更新了服务器上过时的 python 库。 但它没有用。 此外,我在使用谷歌云模块的所有文件上都遇到了同样的错误。
这个问题可能是由什么引起的?
正如 Bushmaster 评论的那样,禁用 IPV6 解决了这个问题。
我正在写下禁用它的步骤:
sudo echo "net.ipv6.conf.all.disable_ipv6=1" >> /etc/sysctl.conf
sudo echo "net.ipv6.conf.default.disable_ipv6=1" >> /etc/sysctl.conf
sudo echo "net.ipv6.conf.lo.disable_ipv6=1" >> /etc/sysctl.conf
sudo sysctl -p
希望能帮助到你!
“create_gc_credentials”如何工作? 从错误信息来看,服务器上运行的服务帐号没有权限。
可能有很多原因。 您可以考虑以下选项:
或者
使用 BigQuery API 时,您需要为用户创建具有 OAuth 凭据的客户端。 对于使用 API 进行访问,这通常是服务帐户身份。 创建服务帐户时,该帐户不会自动将成员身份添加到您的项目中。 要将属于您的项目成员的用户和服务帐户 go 更新为您的项目 select 导航面板中的“权限”,并确保您调用的用户或服务帐户身份是项目的“读者”。
如果它与权限有关,您可以查看有关它的文档。
(这应该是评论,但我没有足够的声誉)您能否分享您如何确认该服务器已被谷歌禁止以及您如何解决问题?
我们有同样的问题。 在我们的服务器上,我们收到“错误 403:您的客户端无权获取 URL”,但本地请求工作正常。 我们尝试移动到另一台服务器,起初一切正常,但现在我们再次收到错误消息。 谷歌控制台上没有错误或消息,我们只有基本支持(= 无法直接联系谷歌)。 我们必须购买支持计划吗?
大多数情况下,错误与用户代理的身份是否可以被验证和/或用户代理是否具有访问受保护服务所需的权限有关。
在没有授权标头的情况下向云函数发送发布请求后出现此错误。
例如,如果创建云功能时启用了“ Allow unauthenticated
”,则请求会通过而不会出现此错误。
一项快速测试是通过在 Cloud Shell 中运行gcloud auth print-identity-token
并在授权请求标头中传递生成的令牌来生成不记名令牌。 没有错误!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.