Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Jede Anfrage, die Ihre Anwendung an die Manufacturer Center API sendet, muss ein Autorisierungstoken enthalten. Anhand dieses Tokens wird deine Anwendung Google gegenüber identifiziert.
Autorisierungsprotokolle
Ihre Anwendung muss zur Autorisierung von Anfragen OAuth 2.0 verwenden. Andere Autorisierungsprotokolle werden nicht unterstützt. Wenn deine Anwendung Über Google anmelden verwendet, werden einige Schritte der Autorisierung automatisch ausgeführt.
Anfragen mit OAuth 2.0 autorisieren
Alle Anfragen an die Manufacturer Center API müssen von einem authentifizierten Nutzer autorisiert werden.
Die Details dieses Autorisierungsablaufs für OAuth 2.0 hängen davon ab, welche Art von Anwendung du schreibst. Die folgende allgemeine Vorgehensweise gilt für alle Arten von Anwendungen:
Wenn Sie Ihre Anwendung erstellen, registrieren Sie diese über die Google API Console. Google stellt Ihnen dann die Informationen bereit, die du später benötigst, z. B. eine Client-ID und einen Clientschlüssel.
Aktivieren Sie die Manufacturer Center API in der Google API Console. Überspringe diesen Schritt, falls die API nicht in der API Console aufgeführt ist.
Wenn deine Anwendung Zugriff auf Nutzerdaten benötigt, bittet sie Google um einen bestimmten Zugriffsbereich.
Dem Nutzer wird von Google ein Zustimmungsbildschirm angezeigt, auf dem er gebeten wird, deine Anwendung dazu zu autorisieren, einige seiner Daten abzufragen.
Wenn der Nutzer zustimmt, erhält deine Anwendung von Google ein kurzlebiges Zugriffstoken.
Die Anwendung fordert Nutzerdaten an, wobei das Zugriffstoken an die Anfrage angehängt wird.
Stellt Google fest, dass Ihre Anfrage und das Token gültig sind, werden die angeforderten Daten zurückgegeben.
Einige Abläufe enthalten zusätzliche Schritte, beispielsweise die Verwendung von Aktualisierungstoken zum Erhalt neuer Zugriffstoken. Weitere Informationen über die Abläufe für die unterschiedlichen Anwendungstypen findest du in der OAuth 2.0-Dokumentation.
Im Folgenden finden Sie die Informationen zum Umfang von OAuth 2.0 für die Manufacturer Center API:
Zur Anforderung eines Zugriffs mit OAuth 2.0 benötigt Ihre Anwendung die Informationen zum Umfang sowie die Informationen, die Google bei der Registrierung Ihrer Anwendung bereitstellt, z. B. die Client-ID und den Clientschlüssel.
Tipp: Die Google APIs-Clientbibliotheken können einige Schritte des Autorisierungsvorgangs für Sie übernehmen. Sie sind für verschiedene Programmiersprachen verfügbar. Weitere Informationen erhältst du auf der Seite Bibliotheken und Beispiele.
Beispiel für eine Autorisierung
Der folgende Code zeigt, wie Sie Ihren Client konfigurieren und autorisieren
Anfragen mit OAuth 2.0 für installierte Anwendungen. Andere Sprachen sind
finden Sie auf der Seite Beispiele und Bibliotheken.
publicstaticvoidmain(String[]args){try{httpTransport=GoogleNetHttpTransport.newTrustedTransport();dataStoreFactory=newFileDataStoreFactory(DATA_STORE_DIR);jsonFactory=JacksonFactory.getDefaultInstance();scopes="https://www.googleapis.com/auth/manufacturercenter";// load configurationFileconfigPath=newFile(basePath,"manufacturers");FileconfigFile=newFile(configPath,manufacturers-info.json);ManufacturersConfigconfig=newJacksonFactory().fromInputStream(inputStream,ManufacturersConfig.class);config.setPath(configPath);// Get authorization tokenCredentialcredential=authenticate(httpTransport,dataStoreFactory,config,jsonFactory,scopes);// ...}}privatestaticCredentialauthenticate(httpTransport,dataStoreFactory,config,jsonFactory,scopes)throwsException{try{Credentialcredential=GoogleCredential.getApplicationDefault().createScoped(scopes);System.out.println("Loaded the Application Default Credentials.");returncredential;}catch(IOExceptione){// No need to do anything, we'll fall back on other credentials.}if(config.getPath()==null){thrownewIllegalArgumentException("Must use Application Default Credentials with no configuration directory.");}FileclientSecretsFile=newFile(config.getPath(),"client-secrets.json");if(clientSecretsFile.exists()){System.out.println("Loading OAuth2 client credentials.");try(InputStreaminputStream=newFileInputStream(clientSecretsFile)){GoogleClientSecretsclientSecrets=GoogleClientSecrets.load(jsonFactory,newInputStreamReader(inputStream));// set up authorization code flowGoogleAuthorizationCodeFlowflow=newGoogleAuthorizationCodeFlow.Builder(httpTransport,jsonFactory,clientSecrets,scopes).setDataStoreFactory(dataStoreFactory).build();// authorizeStringuserID=ConfigDataStoreFactory.UNUSED_ID;CredentialstoredCredential=flow.loadCredential(userID);if(storedCredential!=null){System.out.printf("Retrieved stored credential for %s from cache.%n",userID);returnstoredCredential;}LocalServerReceiverreceiver=newLocalServerReceiver.Builder().setHost("localhost").setPort(9999).build();Credentialcredential=newAuthorizationCodeInstalledApp(flow,receiver).authorize(userID);System.out.printf("Retrieved credential for %s from web.%n",userID);returncredential;}catch(IOExceptione){thrownewIOException("Could not retrieve OAuth2 client credentials from the file "+clientSecretsFile.getCanonicalPath());}}thrownewIOException("No authentication credentials found. Checked the Google Application"+"Default Credentials and the paths "+clientSecretsFile.getCanonicalPath()+". Please read the accompanying README.");}
[null,null,["Zuletzt aktualisiert: 2025-08-31 (UTC)."],[[["\u003cp\u003eThe Manufacturer Center API requires OAuth 2.0 for authorization to access user data.\u003c/p\u003e\n"],["\u003cp\u003eApplications need to be registered with Google API Console to obtain credentials like client ID and client secret.\u003c/p\u003e\n"],["\u003cp\u003eAn authorization token, obtained through user consent, must be included in every API request.\u003c/p\u003e\n"],["\u003cp\u003eGoogle provides client libraries to simplify the authorization process for different programming languages.\u003c/p\u003e\n"],["\u003cp\u003eThird-party applications should use three-legged OAuth2 flow, while in-house applications can utilize Service Accounts for authentication.\u003c/p\u003e\n"]]],[],null,["# Authorize Requests\n\n| **Note:** This document describes the three-legged OAuth2 flow used to request access to other parties' data. Use this authentication flow if you are developing a third-party application that needs access to your clients' Manufacturer Center accounts. If you are developing an in-house application that will only access your own Manufacturer Center account, see the [Service\n| Accounts](/manufacturers/how-tos/service-accounts) guide instead.\n\nEvery request your application sends to the Manufacturer Center API must include an authorization token. The token also identifies your application to Google.\n\nAbout authorization protocols\n-----------------------------\n\nYour application must use [OAuth 2.0](https://developers.google.com/identity/protocols/OAuth2) to authorize requests. No other authorization protocols are supported. If your application uses [Sign In With Google](https://developers.google.com/identity/gsi/web), some aspects of authorization are handled for you.\n\nAuthorizing requests with OAuth 2.0\n-----------------------------------\n\nAll requests to the Manufacturer Center API must be authorized by an authenticated user.\n\nThe 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:\n\n1. When you create your application, you register it using the [Google API Console](https://console.cloud.google.com/). Google then provides information you'll need later, such as a client ID and a client secret.\n2. Activate the Manufacturer Center API in the Google API Console. (If the API isn't listed in the API Console, then skip this step.)\n3. When your application needs access to user data, it asks Google for a particular **scope** of access.\n4. Google displays a **consent screen** to the user, asking them to authorize your application to request some of their data.\n5. If the user approves, then Google gives your application a short-lived **access token**.\n6. Your application requests user data, attaching the access token to the request.\n7. If Google determines that your request and the token are valid, it returns the requested data.\n\nSome flows include additional steps, such as using **refresh tokens** to acquire new access tokens. For detailed information about flows for various types of applications, see Google's [OAuth 2.0 documentation](https://developers.google.com/identity/protocols/OAuth2).\n\nHere's the OAuth 2.0 scope information for the Manufacturer Center API:\n\n| Scope | Meaning |\n|------------------------------------------------------|--------------------|\n| `https://www.googleapis.com/auth/manufacturercenter` | Read/write access. |\n\nTo request access using OAuth 2.0, your application needs the scope information, as well as\ninformation that Google supplies when you register your application (such as the client ID and the\nclient secret).\n\n**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](/manufacturers/libraries) for more details.\n\nAuthorization Example\n---------------------\n\nThe following code demonstrates how to configure your client and authorize\nrequests using OAuth 2.0 for installed applications. Other languages are\navailable at our [Samples and Libraries](/manufacturers/libraries) page. \n\n### Java\n\nThis is the command-line authorization code flow described in [Using OAuth\n2.0 for Installed\nApplications.](https://developers.google.com/accounts/docs/OAuth2InstalledApp)\n\nExample snippet from our Content API [Java sample\ncode:](https://github.com/googleads/googleads-shopping-samples/blob/master/java/src/main/java/shopping/common/Authenticator.java) \n\n public static void main(String[] args) {\n try {\n httpTransport = GoogleNetHttpTransport.newTrustedTransport();\n dataStoreFactory = new FileDataStoreFactory(DATA_STORE_DIR);\n jsonFactory = JacksonFactory.getDefaultInstance();\n scopes = \"https://www.googleapis.com/auth/manufacturercenter\";\n\n // load configuration\n File configPath = new File(basePath, \"manufacturers\");\n File configFile = new File(configPath, manufacturers-info.json);\n ManufacturersConfig config = new JacksonFactory().fromInputStream(inputStream, ManufacturersConfig.class);\n config.setPath(configPath);\n\n // Get authorization token\n Credential credential = authenticate(httpTransport, dataStoreFactory, config, jsonFactory, scopes);\n // ...\n }\n }\n\n private static Credential authenticate(httpTransport, dataStoreFactory, config, jsonFactory, scopes) throws Exception {\n try {\n Credential credential = GoogleCredential.getApplicationDefault().createScoped(scopes);\n System.out.println(\"Loaded the Application Default Credentials.\");\n return credential;\n } catch (IOException e) {\n // No need to do anything, we'll fall back on other credentials.\n }\n if (config.getPath() == null) {\n throw new IllegalArgumentException(\n \"Must use Application Default Credentials with no configuration directory.\");\n }\n File clientSecretsFile = new File(config.getPath(), \"client-secrets.json\");\n if (clientSecretsFile.exists()) {\n System.out.println(\"Loading OAuth2 client credentials.\");\n try (InputStream inputStream = new FileInputStream(clientSecretsFile)) {\n GoogleClientSecrets clientSecrets =\n GoogleClientSecrets.load(jsonFactory, new InputStreamReader(inputStream));\n // set up authorization code flow\n GoogleAuthorizationCodeFlow flow =\n new GoogleAuthorizationCodeFlow.Builder(\n httpTransport, jsonFactory, clientSecrets, scopes)\n .setDataStoreFactory(dataStoreFactory)\n .build();\n // authorize\n String userID = ConfigDataStoreFactory.UNUSED_ID;\n Credential storedCredential = flow.loadCredential(userID);\n if (storedCredential != null) {\n System.out.printf(\"Retrieved stored credential for %s from cache.%n\", userID);\n return storedCredential;\n }\n LocalServerReceiver receiver =\n new LocalServerReceiver.Builder().setHost(\"localhost\").setPort(9999).build();\n Credential credential = new AuthorizationCodeInstalledApp(flow, receiver).authorize(userID);\n System.out.printf(\"Retrieved credential for %s from web.%n\", userID);\n return credential;\n } catch (IOException e) {\n throw new IOException(\n \"Could not retrieve OAuth2 client credentials from the file \"\n\n + clientSecretsFile.getCanonicalPath());\n }\n }\n throw new IOException(\n \"No authentication credentials found. Checked the Google Application\"\n + \"Default Credentials and the paths \"\n + clientSecretsFile.getCanonicalPath()\n + \". Please read the accompanying README.\");\n }"]]