Rumah  >  Artikel  >  pembangunan bahagian belakang  >  perkhidmatan golang gmbapi BusinessProfilePerformance pada GetDailyMetricsTimeSeries mengembalikan ralat 404: Entiti yang diminta tidak ditemui

perkhidmatan golang gmbapi BusinessProfilePerformance pada GetDailyMetricsTimeSeries mengembalikan ralat 404: Entiti yang diminta tidak ditemui

WBOY
WBOYke hadapan
2024-02-06 10:45:071184semak imbas

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

Kandungan soalan

Saya membina perkhidmatan yang melepasi fail kelayakan dan skop pengesahan, kemudian memanggil getdailymetricstimeseries dengan nama yang betul (lokasi/{location_id}), tetapi ia mengembalikan ralat 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)
    }

Fail client_secret.json saya kelihatan seperti ini


{
    "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": ""
}

Saya rasa masalahnya ialah rujukan lokasi_id parameter topik yang hilang, tetapi saya tidak dapati di mana saya boleh luluskannya Saya telah menyembunyikan maklumat peribadi fail json


Jawapan betul


Masalahnya ialah dengan pengesahan, topik itu hilang, jadi saya menanganinya seperti ini:

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&#160;protected]</a>"})
if err != nil {
    return &google.credentials{}, err
}
return creds, nil

}

Kemudian

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()

Atas ialah kandungan terperinci perkhidmatan golang gmbapi BusinessProfilePerformance pada GetDailyMetricsTimeSeries mengembalikan ralat 404: Entiti yang diminta tidak ditemui. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam