Movatterモバイル変換


[0]ホーム

URL:


oauth2

package
v0.257.0Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2025 License:BSD-3-ClauseImports:18Imported by:332

Details

Repository

github.com/googleapis/google-api-go-client

Links

Documentation

Overview

Package oauth2 provides access to the Google OAuth2 API.

For product documentation, see:https://developers.google.com/identity/protocols/oauth2/

Library status

These client libraries are officially supported by Google. However, thislibrary is considered complete and is in maintenance mode. This meansthat we will address critical bugs and security issues but will not addany new features.

When possible, we recommend using our newer[Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)that are still actively being worked and iterated on.

Creating a client

Usage example:

import "google.golang.org/api/oauth2/v2"...ctx := context.Background()oauth2Service, err := oauth2.NewService(ctx)

In this example, Google Application Default Credentials are used forauthentication. For information on how to create and obtain ApplicationDefault Credentials, seehttps://developers.google.com/identity/protocols/application-default-credentials.

Other authentication options

By default, all available scopes (see "Constants") are used to authenticate.To restrict scopes, usegoogle.golang.org/api/option.WithScopes:

oauth2Service, err := oauth2.NewService(ctx, option.WithScopes(oauth2.OpenIDScope))

To use an API key for authentication (note: some APIs do not support APIkeys), usegoogle.golang.org/api/option.WithAPIKey:

oauth2Service, err := oauth2.NewService(ctx, option.WithAPIKey("AIza..."))

To use an OAuth token (e.g., a user token obtained via a three-legged OAuthflow, usegoogle.golang.org/api/option.WithTokenSource:

config := &oauth2.Config{...}// ...token, err := config.Exchange(ctx, ...)oauth2Service, err := oauth2.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))

Seegoogle.golang.org/api/option.ClientOption for details on options.

Index

Constants

View Source
const (// See your primary Google Account email addressUserinfoEmailScope = "https://www.googleapis.com/auth/userinfo.email"// See your personal info, including any personal info you've made publicly// availableUserinfoProfileScope = "https://www.googleapis.com/auth/userinfo.profile"// Associate you with your personal info on GoogleOpenIDScope = "openid")

OAuth2 scopes used by this API.

Variables

This section is empty.

Functions

This section is empty.

Types

typeService

type Service struct {BasePathstring// API endpoint base URLUserAgentstring// optional additional User-Agent fragmentUserinfo *UserinfoService// contains filtered or unexported fields}

funcNewdeprecated

func New(client *http.Client) (*Service,error)

New creates a new Service. It uses the provided http.Client for requests.

Deprecated: please use NewService instead.To provide a custom HTTP client, use option.WithHTTPClient.If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.

funcNewServiceadded inv0.3.0

func NewService(ctxcontext.Context, opts ...option.ClientOption) (*Service,error)

NewService creates a new Service.

func (*Service)Tokeninfo

func (s *Service) Tokeninfo() *TokeninfoCall

Tokeninfo:

typeTokeninfo

type Tokeninfo struct {// Audience: Who is the intended audience for this token. In general the same// as issued_to.Audiencestring `json:"audience,omitempty"`// Email: The email address of the user. Present only if the email scope is// present in the request.Emailstring `json:"email,omitempty"`// ExpiresIn: The expiry time of the token, as number of seconds left until// expiry.ExpiresInint64 `json:"expires_in,omitempty"`// IssuedTo: To whom was the token issued to. In general the same as audience.IssuedTostring `json:"issued_to,omitempty"`// Scope: The space separated list of scopes granted to this token.Scopestring `json:"scope,omitempty"`// UserId: The obfuscated user id.UserIdstring `json:"user_id,omitempty"`// VerifiedEmail: Boolean flag which is true if the email address is verified.// Present only if the email scope is present in the request.VerifiedEmailbool `json:"verified_email,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "Audience") to// unconditionally include in API requests. By default, fields with empty or// default values are omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Audience") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

func (Tokeninfo)MarshalJSON

func (sTokeninfo) MarshalJSON() ([]byte,error)

typeTokeninfoCall

type TokeninfoCall struct {// contains filtered or unexported fields}

func (*TokeninfoCall)AccessToken

func (c *TokeninfoCall) AccessToken(accessTokenstring) *TokeninfoCall

AccessToken sets the optional parameter "access_token":

func (*TokeninfoCall)Context

Context sets the context to be used in this call's Do method.

func (*TokeninfoCall)Do

Do executes the "oauth2.tokeninfo" call.Any non-2xx status code is an error. Response headers are in either*Tokeninfo.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.

func (*TokeninfoCall)Fields

func (c *TokeninfoCall) Fields(s ...googleapi.Field) *TokeninfoCall

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*TokeninfoCall)Header

func (c *TokeninfoCall) Header()http.Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

func (*TokeninfoCall)IdToken

func (c *TokeninfoCall) IdToken(idTokenstring) *TokeninfoCall

IdToken sets the optional parameter "id_token":

typeUserinfoadded inv0.22.0

type Userinfo struct {// Email: The user's email address.Emailstring `json:"email,omitempty"`// FamilyName: The user's last name.FamilyNamestring `json:"family_name,omitempty"`// Gender: The user's gender.Genderstring `json:"gender,omitempty"`// GivenName: The user's first name.GivenNamestring `json:"given_name,omitempty"`// Hd: The hosted domain e.g. example.com if the user is Google apps user.Hdstring `json:"hd,omitempty"`// Id: The obfuscated ID of the user.Idstring `json:"id,omitempty"`// Link: URL of the profile page.Linkstring `json:"link,omitempty"`// Locale: The user's preferred locale.Localestring `json:"locale,omitempty"`// Name: The user's full name.Namestring `json:"name,omitempty"`// Picture: URL of the user's picture image.Picturestring `json:"picture,omitempty"`// VerifiedEmail: Boolean flag which is true if the email address is verified.// Always verified because we only return the user's primary email address.//// Default: trueVerifiedEmail *bool `json:"verified_email,omitempty"`// ServerResponse contains the HTTP response code and headers from the server.googleapi.ServerResponse `json:"-"`// ForceSendFields is a list of field names (e.g. "Email") to unconditionally// include in API requests. By default, fields with empty or default values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more// details.ForceSendFields []string `json:"-"`// NullFields is a list of field names (e.g. "Email") to include in API// requests with the JSON null value. By default, fields with empty values are// omitted from API requests. See//https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.NullFields []string `json:"-"`}

func (Userinfo)MarshalJSONadded inv0.22.0

func (sUserinfo) MarshalJSON() ([]byte,error)

typeUserinfoGetCall

type UserinfoGetCall struct {// contains filtered or unexported fields}

func (*UserinfoGetCall)Context

Context sets the context to be used in this call's Do method.

func (*UserinfoGetCall)Do

Do executes the "oauth2.userinfo.get" call.Any non-2xx status code is an error. Response headers are in either*Userinfo.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.

func (*UserinfoGetCall)Fields

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*UserinfoGetCall)Header

func (c *UserinfoGetCall) Header()http.Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

func (*UserinfoGetCall)IfNoneMatch

func (c *UserinfoGetCall) IfNoneMatch(entityTagstring) *UserinfoGetCall

IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.

typeUserinfoService

type UserinfoService struct {V2 *UserinfoV2Service// contains filtered or unexported fields}

funcNewUserinfoService

func NewUserinfoService(s *Service) *UserinfoService

func (*UserinfoService)Get

Get:

typeUserinfoV2MeGetCall

type UserinfoV2MeGetCall struct {// contains filtered or unexported fields}

func (*UserinfoV2MeGetCall)Context

Context sets the context to be used in this call's Do method.

func (*UserinfoV2MeGetCall)Do

Do executes the "oauth2.userinfo.v2.me.get" call.Any non-2xx status code is an error. Response headers are in either*Userinfo.ServerResponse.Header or (if a response was returned at all) inerror.(*googleapi.Error).Header. Use googleapi.IsNotModified to checkwhether the returned error was because http.StatusNotModified was returned.

func (*UserinfoV2MeGetCall)Fields

Fields allows partial responses to be retrieved. Seehttps://developers.google.com/gdata/docs/2.0/basics#PartialResponse for moredetails.

func (*UserinfoV2MeGetCall)Header

func (c *UserinfoV2MeGetCall) Header()http.Header

Header returns a http.Header that can be modified by the caller to addheaders to the request.

func (*UserinfoV2MeGetCall)IfNoneMatch

func (c *UserinfoV2MeGetCall) IfNoneMatch(entityTagstring) *UserinfoV2MeGetCall

IfNoneMatch sets an optional parameter which makes the operation fail if theobject's ETag matches the given value. This is useful for getting updatesonly after the object has changed since the last request.

typeUserinfoV2MeService

type UserinfoV2MeService struct {// contains filtered or unexported fields}

funcNewUserinfoV2MeService

func NewUserinfoV2MeService(s *Service) *UserinfoV2MeService

func (*UserinfoV2MeService)Get

Get:

typeUserinfoV2Service

type UserinfoV2Service struct {Me *UserinfoV2MeService// contains filtered or unexported fields}

funcNewUserinfoV2Service

func NewUserinfoV2Service(s *Service) *UserinfoV2Service

Source Files

View all Source files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp