5

Czy możesz mi pomóc z poniższym problemem.Program Golang do pobierania google + Zwraca profil domeny 403 Zakazany

Po prostu piszę prosty kod, aby pobrać mój profil użytkownika google + Domena. 1. Używam google + konta domeny z nazwą domeny spaceandhow.com

  1. I dostarczyły wszystkie przywileje wymienione w https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority

  2. Both Google+ API i Aplikacja Google+ Domain Api jest włączona na koncie.

To jest funkcja, którą napisałem.

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") 
} 

To jest komunikat o błędzie i dostać

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

Odpowiedz

0

błąd Zakazane będzie występować ze względu na problem z tokena wraz API. Po otrzymaniu tokena dla osoby, którą uwierzytelniasz, możesz po prostu napisać kod jak poniżej, aby uzyskać informacje o ludziach.

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)) 
} 
Powiązane problemy