小编use*_*823的帖子

如何使用Python中的服务帐户验证Google Cloud?

我试图制作一个项目,将谷歌存储json文件上传到BigQuery(只是自动完成现在手动完成的事情).

我希望使用"服务帐户",因为我的脚本将每天运行.

阅读完所有关于使用服务帐户的内容后,我仍然在努力进行身份验证.

我想知道是否有人可以检查并指出我错过了什么?

这是我到目前为止所做的:

  1. 为服务帐户创建了json密钥文件
  2. 已安装的客户端库: pip install --upgrade google-cloud-bigquery
  3. 根据以下网址安装了google cloud sdk:https://cloud.google.com/sdk/docs/
  4. 运行export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_account_file>与正确指定键路径

现在我试图运行以下python脚本:

from google.cloud import bigquery
bigquery_client = bigquery.Client()
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

google.auth.exceptions.DefaultCredentialsError:无法自动确定凭据.请设置GOOGLE_APPLICATION_CREDENTIALS或明确创建凭据并重新运行该应用程序.有关详细信息,请参阅 https://developers.google.com/accounts/docs/application-default-credentials.

我对python和google云API都很陌生,所以可能错过了一些东西,

不知道是否有人可以指出我上面的步骤中哪里出现了什么/出了什么问题,或者让我明确指出dummys使用服务帐户设置和运行Bigquery的简单脚本?

oauth-2.0 google-bigquery service-accounts google-cloud-platform

14
推荐指数
5
解决办法
1万
查看次数

根据组顺序选择新列

我在这个网站上经历了很多问题,但是无法找到解决方案.我有一张桌子:

__PRE__

频道限于'A','B','C','D','E','F'.它中有很多行有不同的GROUPID.

我需要得到这张桌子:

__PRE__

IsFirst = TRUE当Channel是按时间排序的具有相同ID的行组中的第一个; 否则为FALSE.

IsLast = TRUE当Channel是具有按Time排序的相同GroupID的行组中的最后一个; 否则为FALSE.

Channelsingroup - 同一组中的行数(具有相同的GroupID)

Daysbeforelast - 在该组中最新一行与当前行之间的天数.

我无权创建或更新表,只能选择.

我希望以上数据有意义,有任何问题请告诉我.

sql sql-server group-by sql-order-by

6
推荐指数
1
解决办法
332
查看次数

如何重定向到 Instagram://user?username={username}

我在我的 html 页面上有这个链接,可以在特定用户上打开 Instagram 应用程序:

<a href="instagram://user?username={USERNAME}">Link to Instagram Profile</a>
Run Code Online (Sandbox Code Playgroud)

我一直在寻找自动运行 url 'instagram://user?username={USERNAME}' 的方法(如自动重定向)。

这是我在头脑中尝试过的:

1.

<meta http-equiv="refresh" content="0; url=instagram://user?username={USERNAME}" />
Run Code Online (Sandbox Code Playgroud)

2.

<script type="text/javascript">
window.location.href = "instagram://user?username={USERNAME}"
</script>
Run Code Online (Sandbox Code Playgroud)

3.@Nitin-bagoriya 建议的变体

<script> function load() { window.location.href = "instagram://user?username={USERNAME}"}; window.onload = load; </script> 
Run Code Online (Sandbox Code Playgroud)
  1. @Giuseppe 建议的变体

    addEventListener('load', load);

但是当我在那里浏览时 - 什么也没有发生。它在安装了 Instagram 应用程序的 android 上进行了测试。

我想知道有没有办法通过重定向自动运行 Instagram 应用程序,这样用户就不需要点击链接?

html javascript android http-redirect url-redirection

5
推荐指数
1
解决办法
8153
查看次数

将 Bigquery 结果转换为 Pandas 数据框

下面是将 BigQuery 结果转换为 Pandas 数据框的代码。我正在学习 Python 和 Pandas,想知道我是否可以获得有关代码改进的建议/想法?

#...code to run query, that returns 3 columns: 'date' DATE, 'currency' STRING,'rate' FLOAT...

rows, total_count, token = query.fetch_data()
currency = []
rate = []
dates = []
for row in rows:
    dates.append(row[0])
    currency.append(row[1])
    rate.append(row[2])


dict = {
'currency' : currency,
'date' : dates,
'rate' : rate
}

df2 = pd.DataFrame(dict)

df2['date'] = pd.to_datetime(df2['date'])
df2 = df2.set_index('date')
Run Code Online (Sandbox Code Playgroud)

以上工作。但看起来很矮。有什么方法可以比上述更有效地做同样的事情吗?我尝试过诸如 sqlalchemy 之类的库,但它们不支持 BigQuery。通常我的问题是关于上面的代码和语法。

python dataframe pandas google-bigquery

5
推荐指数
3
解决办法
9354
查看次数

将 Google-Ads API GoogleAdsRow 转换为 json?

我正在查询 google ads api,需要将结果保存为 json。将 GoogleAdsRow 类型转换为 json 的最佳方法是什么?

google ads appi 的结果如下所示(广告系列和客户 ID 是假的):

campaign {
  resource_name: "customers/752830100/campaigns/22837002"
  id {
    value: 22837002
  }
  name {
    value: "test"
  }
}
metrics {
  clicks {
    value: 51
  }
  impressions {
    value: 33
  }
}
Run Code Online (Sandbox Code Playgroud)

类型 = <class 'google.ads.googleads_v1.types.GoogleAdsRow'>

python google-ads-api

4
推荐指数
2
解决办法
1441
查看次数