2015-10-17 99 views

回答

1
func ExampleJWTConfigFromJSON() { 
    // Your credentials should be obtained from the Google 
    // Developer Console (https://console.developers.google.com). 
    // Navigate to your project, then see the "Credentials" page 
    // under "APIs & Auth". 
    // To create a service account client, click "Create new Client ID", 
    // select "Service Account", and click "Create Client ID". A JSON 
    // key file will then be downloaded to your computer. 
    data, err := ioutil.ReadFile("/path/to/your-project-key.json") 
    if err != nil { 
     log.Fatal(err) 
    } 
    conf, err := google.JWTConfigFromJSON(data, "https://www.googleapis.com/auth/bigquery") 
    if err != nil { 
     log.Fatal(err) 
    } 
    // Initiate an http.Client. The following GET request will be 
    // authorized and authenticated on the behalf of 
    // your service account. 
    client := conf.Client(oauth2.NoContext) 
    client.Get("...") 
} 

-

func JWTConfigFromJSON(jsonKey []byte, scope ...string) (*jwt.Config, error) 
{ 
    var key struct { 
     Email  string `json:"client_email"` 
     PrivateKey string `json:"private_key"` 
    } 
    if err := json.Unmarshal(jsonKey, &key); err != nil { 
     return nil, err 
    } 
    return &jwt.Config{ 
     Email:  key.Email, 
     PrivateKey: []byte(key.PrivateKey), 
     Scopes:  scope, 
     TokenURL: JWTTokenURL, 
    }, nil 
} 

详情:

https://github.com/golang/oauth2/blob/master/google/example_test.go https://github.com/golang/oauth2/blob/master/google/google.go

希望这会有所帮助。

+0

对我的朋友 - 谢谢。 –

相关问题