5

Können Sie mir bitte mit dem unten stehenden Problem helfen.Golang Programm zum Abrufen von Google + Domain-Profil gibt 403 Forbidden

Ich schreibe gerade einen einfachen Code, um mein Google + Domain-Benutzerprofil abzurufen. 1. Ich mit dem Domainnamen spaceandhow.com

  1. I zur Verfügung gestellt haben alle Privilegien eine Google + Domänenkonto bin mit wie in https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority

  2. Beide Google+ API aufgeführt und Google+ Domain API sind für das Konto aktiviert.

Dies ist die Funktion, die ich geschrieben habe.

func (p *GoogleAUTH) sendGoogleAuthReq(){ 

    fmt.Println("GoogleAUTH package: Enter sendGoogleAuthReq") 


    data, err := ioutil.ReadFile("D:\\Cygwin\\home\\praprasa\\pragna2.json") 
    if err != nil { 
     fmt.Printf("ReadFile error: %s", err) 
    } 


    conf, err := google.JWTConfigFromJSON(data, "https://www.googleapis.com/auth/plus.me") 
    if err != nil { 
     fmt.Println("json error") 

    } 

    client := conf.Client(oauth2.NoContext) 

    resp, err := client.Get("https://www.googleapis.com/plusDomains/v1/people/me") 
    if err != nil { 
     fmt.Printf("GoogleAUTH package: request execution failed: %s", err) 
     return 
    } 
    defer resp.Body.Close() 

    fmt.Println("GoogleAUTH package: response Status:", resp.Status) 
    fmt.Println("GoogleAUTH package: response Headers:", resp.Header) 

    body, err := ioutil.ReadAll(resp.Body) 
    if err != nil { 
     fmt.Printf("GoogleAUTH package: cannot fetch token: %v", err) 
     return 
    } 

    fmt.Println("GoogleAUTH package: response Body:", string(body)) 

    fmt.Println("GoogleAUTH package: Exit sendGoogleAuthReq") 
} 

Dies ist die Fehlermeldung i

GoogleAUTH package: response Status: 403 Forbidden 
GoogleAUTH package: response Headers: map[Vary:[Origin X-Origin] X-Frame-Options:[SAMEORIGIN] X-Xss-Protection:[1; mode=block] Cache-Control:[private, max-age=0] Server:[GSE] Date:[Sat, 29 Aug 2015 07:55:47 GMT] Content-Type:[application/json; charset=UTF-8] Expires:[Sat, 29 Aug 2015 07:55:47 GMT] X-Content-Type-Options:[nosniff] Alternate-Protocol:[443:quic,p=1] Alt-Svc:[quic=":443"; p="1"; ma=604800]] 
GoogleAUTH package: response Body: { 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "forbidden", 
    "message": "Forbidden" 
    } 
    ], 
    "code": 403, 
    "message": "Forbidden" 
} 
} 

Antwort

0

Forbidden Fehler aufgrund von Token Problem mit Plus API auftreten bekommen. Nachdem Sie ein Token für die Person erhalten haben, die Sie authentifizieren, können Sie einfach den folgenden Code schreiben, um Informationen zu erhalten.

func (p *GoogleAUTH) sendGoogleAuthReq(){ 
    baseUrl := "https://www.googleapis.com/plus/v1/people/me" 
    authbear := "Bearer " 
    authbear += <access_token> 
    cli := &http.Client{} 
    req, _ := http.NewRequest("GET", baseUrl, nil) 
    req.Header.Set("Authorization", authbear) 
    res, _ := cli.Do(req) 
    bo, _ := ioutil.ReadAll(res.Body) 
    fmt.Println(string(bo)) 
} 
Verwandte Themen