Maison > développement back-end > Golang > Le service golang gmbapi BusinessProfilePerformance sur GetDailyMetricsTimeSeries renvoie l'erreur 404 : entité demandée introuvable

Le service golang gmbapi BusinessProfilePerformance sur GetDailyMetricsTimeSeries renvoie l'erreur 404 : entité demandée introuvable

WBOY
Libérer: 2024-02-06 10:45:07
avant
1248 Les gens l'ont consulté

GetDailyMetricsTimeSeries 上的 golang gmbapi 服务 BusinessProfilePerformance 返回错误 404:未找到请求的实体

Contenu de la question

J'ai construit le service en transmettant le fichier d'informations d'identification et la portée d'authentification, puis j'ai appelé getdailymetricstimeseries avec le nom correct (locations/{location_id}), mais il a renvoyé une erreur 404.

Copier après la connexion
Copier après la connexion
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)
    }
Copier après la connexion

Mon fichier client_secret.json ressemble à ceci

Copier après la connexion
Copier après la connexion
{
    "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": ""
}
Copier après la connexion

Je pense que le problème vient de la référence location_id du paramètre de sujet manquant, mais je ne trouve pas où je peux la transmettre J'ai caché les informations personnelles du fichier json


Bonne réponse


Le problème était au niveau de l'authentification, le sujet manquait, donc je l'ai traité comme ceci :

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="//m.sbmmt.com/link/89fee0513b6668e555959f5dc23238e9" class="__cf_email__" data-cfemail="f796949498829983b7929a969e9bd994989a">[email&#160;protected]</a>"})
if err != nil {
    return &google.credentials{}, err
}
return creds, nil
Copier après la connexion

}

Alors

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()
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
lsp
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal