Authorize Requests

Every request your application sends to the Manufacturer Center API must include an authorization token. The token also identifies your application to Google.

About authorization protocols

Your application must use OAuth 2.0 to authorize requests. No other authorization protocols are supported. If your application uses Sign In With Google , some aspects of authorization are handled for you.

Authorizing requests with OAuth 2.0

All requests to the Manufacturer Center API must be authorized by an authenticated user.

The details of the authorization process, or "flow," for OAuth 2.0 vary somewhat depending on what kind of application you're writing. The following general process applies to all application types:

  1. When you create your application, you register it using the Google API Console . Google then provides information you'll need later, such as a client ID and a client secret.
  2. Activate the Manufacturer Center API in the Google API Console. (If the API isn't listed in the API Console, then skip this step.)
  3. When your application needs access to user data, it asks Google for a particular scopeof access.
  4. Google displays a consent screento the user, asking them to authorize your application to request some of their data.
  5. If the user approves, then Google gives your application a short-lived access token.
  6. Your application requests user data, attaching the access token to the request.
  7. If Google determines that your request and the token are valid, it returns the requested data.

Some flows include additional steps, such as using refresh tokensto acquire new access tokens. For detailed information about flows for various types of applications, see Google's OAuth 2.0 documentation .

Here's the OAuth 2.0 scope information for the Manufacturer Center API:

Scope Meaning
https://www.googleapis.com/auth/manufacturercenter Read/write access.

To request access using OAuth 2.0, your application needs the scope information, as well as information that Google supplies when you register your application (such as the client ID and the client secret).

Tip:The Google APIs client libraries can handle some of the authorization process for you. They are available for a variety of programming languages; check the page with libraries and samples for more details.

Authorization Example

The following code demonstrates how to configure your client and authorize requests using OAuth 2.0 for installed applications. Other languages are available at our Samples and Libraries page.

Java

This is the command-line authorization code flow described in Using OAuth 2.0 for Installed Applications.

Example snippet from our Content API Java sample code:

   
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 { 
  
 try 
  
 { 
  
 httpTransport 
  
 = 
  
 GoogleNetHttpTransport 
 . 
 newTrustedTransport 
 (); 
  
 dataStoreFactory 
  
 = 
  
 new 
  
 FileDataStoreFactory 
 ( 
 DATA_STORE_DIR 
 ); 
  
 jsonFactory 
  
 = 
  
 JacksonFactory 
 . 
 getDefaultInstance 
 (); 
  
 scopes 
  
 = 
  
 "https://www.googleapis.com/auth/manufacturercenter" 
 ; 
  
 // load configuration 
  
 File 
  
 configPath 
  
 = 
  
 new 
  
 File 
 ( 
 basePath 
 , 
  
 "manufacturers" 
 ); 
  
 File 
  
 configFile 
  
 = 
  
 new 
  
 File 
 ( 
 configPath 
 , 
  
 manufacturers 
 - 
 info 
 . 
 json 
 ); 
  
 ManufacturersConfig 
  
 config 
  
 = 
  
 new 
  
 JacksonFactory 
 (). 
 fromInputStream 
 ( 
 inputStream 
 , 
  
 ManufacturersConfig 
 . 
 class 
 ); 
  
 config 
 . 
 setPath 
 ( 
 configPath 
 ); 
  
 // Get authorization token 
  
 Credential 
  
 credential 
  
 = 
  
 authenticate 
 ( 
 httpTransport 
 , 
  
 dataStoreFactory 
 , 
  
 config 
 , 
  
 jsonFactory 
 , 
  
 scopes 
 ); 
  
 // ... 
  
 } 
  
 } 
  
 private 
  
 static 
  
 Credential 
  
 authenticate 
 ( 
 httpTransport 
 , 
  
 dataStoreFactory 
 , 
  
 config 
 , 
  
 jsonFactory 
 , 
  
 scopes 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 try 
  
 { 
  
 Credential 
  
 credential 
  
 = 
  
 GoogleCredential 
 . 
 getApplicationDefault 
 (). 
 createScoped 
 ( 
 scopes 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Loaded the Application Default Credentials." 
 ); 
  
 return 
  
 credential 
 ; 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 e 
 ) 
  
 { 
  
 // No need to do anything, we'll fall back on other credentials. 
  
 } 
  
 if 
  
 ( 
 config 
 . 
 getPath 
 () 
  
 == 
  
 null 
 ) 
  
 { 
  
 throw 
  
 new 
  
 IllegalArgumentException 
 ( 
  
 "Must use Application Default Credentials with no configuration directory." 
 ); 
  
 } 
  
 File 
  
 clientSecretsFile 
  
 = 
  
 new 
  
 File 
 ( 
 config 
 . 
 getPath 
 (), 
  
 "client-secrets.json" 
 ); 
  
 if 
  
 ( 
 clientSecretsFile 
 . 
 exists 
 ()) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Loading OAuth2 client credentials." 
 ); 
  
 try 
  
 ( 
 InputStream 
  
 inputStream 
  
 = 
  
 new 
  
 FileInputStream 
 ( 
 clientSecretsFile 
 )) 
  
 { 
  
 GoogleClientSecrets 
  
 clientSecrets 
  
 = 
  
 GoogleClientSecrets 
 . 
 load 
 ( 
 jsonFactory 
 , 
  
 new 
  
 InputStreamReader 
 ( 
 inputStream 
 )); 
  
 // set up authorization code flow 
  
 GoogleAuthorizationCodeFlow 
  
 flow 
  
 = 
  
 new 
  
 GoogleAuthorizationCodeFlow 
 . 
 Builder 
 ( 
  
 httpTransport 
 , 
  
 jsonFactory 
 , 
  
 clientSecrets 
 , 
  
 scopes 
 ) 
  
 . 
 setDataStoreFactory 
 ( 
 dataStoreFactory 
 ) 
  
 . 
 build 
 (); 
  
 // authorize 
  
 String 
  
 userID 
  
 = 
  
 ConfigDataStoreFactory 
 . 
 UNUSED_ID 
 ; 
  
 Credential 
  
 storedCredential 
  
 = 
  
 flow 
 . 
 loadCredential 
 ( 
 userID 
 ); 
  
 if 
  
 ( 
 storedCredential 
  
 != 
  
 null 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Retrieved stored credential for %s from cache.%n" 
 , 
  
 userID 
 ); 
  
 return 
  
 storedCredential 
 ; 
  
 } 
  
 LocalServerReceiver 
  
 receiver 
  
 = 
  
 new 
  
 LocalServerReceiver 
 . 
 Builder 
 (). 
 setHost 
 ( 
 "localhost" 
 ). 
 setPort 
 ( 
 9999 
 ). 
 build 
 (); 
  
 Credential 
  
 credential 
  
 = 
  
 new 
  
 AuthorizationCodeInstalledApp 
 ( 
 flow 
 , 
  
 receiver 
 ). 
 authorize 
 ( 
 userID 
 ); 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "Retrieved credential for %s from web.%n" 
 , 
  
 userID 
 ); 
  
 return 
  
 credential 
 ; 
  
 } 
  
 catch 
  
 ( 
 IOException 
  
 e 
 ) 
  
 { 
  
 throw 
  
 new 
  
 IOException 
 ( 
  
 "Could not retrieve OAuth2 client credentials from the file " 
  
 + 
  
 clientSecretsFile 
 . 
 getCanonicalPath 
 ()); 
  
 } 
  
 } 
  
 throw 
  
 new 
  
 IOException 
 ( 
  
 "No authentication credentials found. Checked the Google Application" 
  
 + 
  
 "Default Credentials and the paths " 
  
 + 
  
 clientSecretsFile 
 . 
 getCanonicalPath 
 () 
  
 + 
  
 ". Please read the accompanying README." 
 ); 
  
 } 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: