
我构造了传递 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: "<a href="https://www.php.cn/link/89fee0513b6668e555959f5dc23238e9" class="__cf_email__" data-cfemail="f796949498829983b7929a969e9bd994989a">[email protected]</a>"})
if err != nil {
return &google.credentials{}, err
}
return creds, nil}
立即学习“go语言免费学习笔记(深入)”;
然后
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:未找到请求的实体的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号