问题内容 我构造了传递 credentialsfile 和身份验证范围的服务,然后使用正确的名称 (locations/{location_id}) 调用 getdailymetric
我构造了传递 credentialsfile 和身份验证范围的服务,然后使用正确的名称 (locations/{location_id}) 调用 getdailymetricstimeseries,但返回错误 404。
ctx := context.background()
performanceservice, err := businessprofileperformance.newservice(ctx,
option.withcredentialsfile("client_secret.json"),
option.withscopes(scope))
if err != nil {
log.println(err.error())
return
}
cm := performanceservice.locations.getdailymetricstimeseries("locations/12345...")
cm.dailymetric("website_clicks")
cm.dailyrangestartdateyear(2022)
cm.dailyrangestartdatemonth(6)
cm.dailyrangestartdateday(1)
cm.dailyrangeenddateyear(2022)
cm.dailyrangeenddatemonth(12)
cm.dailyrangeenddateday(30)
response, err := cm.do()
if err != nil {
log.println(err.error())
return
}
if c := response.httpstatuscode; c >= 200 || c <= 299 {
j, _ := response.marshalJSON()
log.println(j)
}
我的client_secret.json文件是这样的
{
"type": "",
"project_id": "",
"private_key_id": "",
"private_key": "",
"client_email": "",
"client_id": "",
"auth_uri": "https://accounts.Google.com/o/oauth2/auth",
"token_uri": "Https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": ""
}
我认为问题在于缺少 location_id 引用的主题参数,但我没有找到可以传递它的位置 我已经隐藏了json文件的个人信息
问题出在身份验证上,主题丢失了,所以我这样处理:
func (a *appcredential) getcredentials(ctx context.context, scope string) (*google.credentials, error) {
jsonfile, err := os.open("config/client_secret.json")
if err != nil {
log.println("error oppening json")
return &google.credentials{}, err
}
defer jsonfile.close()
jsondata, _ := ioutil.readall(jsonfile)
creds, err := google.credentialsfromjsonwithparams(ctx, jsondata, google.credentialsparams{scopes: []string{scope}, subject: "[email protected]"})
if err != nil {
return &google.credentials{}, err
}
return creds, nil
}
然后
ctx := context.Background()
creds, err := appCreds.GetCredentials(ctx, "https://www.googleapis.com/auth/business.manage")
if err != nil {
log.Println(err.Error())
return
}
perfORManceService, err := businessprofileperformance.NewService(ctx, option.WithCredentials(creds))
if err != nil {
log.Println(err.Error())
return
}
cm := performanceService.Locations.GetDailyMetricsTimeSeries("locations/{location_id}")
response, err := cm.Do()
以上就是GetDailyMetricsTimeSeries 上的 golang gmbapi 服务 BusinessProfilePerformance 返回错误 404:未找到请求的实体的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: GetDailyMetricsTimeSeries 上的 golang gmbapi 服务 BusinessProfilePerformance 返回错误 404:未找到请求的实体
本文链接: https://lsjlt.com/news/561438.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0