Goを使用していますが、Google APIを使用したいと考えています。ドキュメントから、私はこの例を見つけました:
// Your credentials should be obtained from the Google
// Developer Console (https://console.developers.google.com).
conf := &oauth2.Config{
ClientID: "YOUR_CLIENT_ID",
ClientSecret: "YOUR_CLIENT_SECRET",
RedirectURL: "YOUR_REDIRECT_URL",
Scopes: []string{
"https://www.googleapis.com/auth/bigquery",
"https://www.googleapis.com/auth/blogger",
},
Endpoint: google.Endpoint,
}
// Redirect user to Google's consent page to ask for permission
// for the scopes specified above.
url := conf.AuthCodeURL("state")
fmt.Printf("Visit the URL for the auth dialog: %v", url)
// Handle the exchange code to initiate a transport.
tok, err := conf.Exchange(oauth2.NoContext, "authorization-code")
if err != nil {
log.Fatal(err)
}
client := conf.Client(oauth2.NoContext, tok)
client.Get("...")
2つの質問があります。
とはredirect_url
?デベロッパーコンソールでは、私は自分のを得ることができますclient_id
し、my client_secret
私が何であるかを知りませんredirect_url
。どこで見つけることができますか?
とはauthorization_code
?どこで見つけることができますか?
ありがとう
OAuthの仕組みは、
1)アプリケーションをベンダー(この場合はそのGoogle)に登録します。登録を行うと、ApplicationID(またはclientID)と秘密鍵を受け取ります。このApplicationIDは、Googleアプリの世界でのアプリケーションのuniqueIDです。
2)ユーザーにGoogleでの認証を要求すると、ApplicationIDとリダイレクトURLを使用して、ユーザーをGoogle認証ページにリダイレクトします。ここで、リダイレクトURLはあなたのページです。
3)ユーザーが自分自身を認証し、アプリケーションに承認を提供したら、グーグルでコードを使用してユーザーをリダイレクトURLにリダイレクトします。
4)このコードは、認証セッション全体の識別子と考えることができます
5)これでユーザーは認証されましたが、渡されたApplicationIDがあなたのものであり、他のユーザーになりすましていないことをGoogleはどのようにして知ることができますか? ApplicationIdとシークレットキー。これを行うと、Googleがあなたを認証し、あなたがこのアプリケーションの所有者であることを確認し、ベアラー認証トークンと更新認証トークンを提供します。
6)これで認証と承認が完了しました。API呼び出しでは、承認にベアラートークンを使用できます。ベアラートークンの有効期限が切れると、更新トークンを使用して新しいベアラートークンを取得できます。
お役に立てれば
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加