Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Cada solicitud que envíe tu aplicación a la API de Manufacturer Center debe incluir un token de autorización. El token también identifica tu aplicación ante Google.
Acerca de los protocolos de autorización
Tu aplicación debe usar OAuth 2.0 para autorizar solicitudes. No se admiten otros protocolos de autorización. Si tu aplicación usa Acceder con Google, tú controlarás algunos aspectos de la autorización.
Solicitudes de autorización con OAuth 2.0
Todas las solicitudes a la API de Manufacturer Center deben estar autorizadas por un usuario autenticado.
Los detalles del proceso de autorización, o "flujo", para OAuth 2.0 varían de alguna manera según el tipo de aplicación que estás escribiendo. El siguiente proceso general se aplica a todos los tipos de aplicación:
Cuando crees tu aplicación, deberás registrarla con Google API Console. Luego, Google proporcionará la información que necesites más tarde, como el ID y un secreto del cliente.
Activa la API de Manufacturer Center en la Consola de APIs de Google. Si no aparece en la consola de API, omite este paso.
Cuando la aplicación necesite acceder a datos del usuario, solicita a Google un alcance de acceso en particular.
Google mostrará una pantalla de consentimiento al usuario, en la que le pedirá que permita a la aplicación solicitar algunos de sus datos.
Si el usuario la aprueba, Google le otorgará a la aplicación un token de acceso de corta duración.
La aplicación solicitará los datos del usuario y adjuntará el token de acceso a la solicitud.
Si Google determina que la solicitud y el token son válidos, mostrará los datos solicitados.
Algunos flujos requieren pasos adicionales, como el uso de tokens de actualización, para adquirir nuevos tokens de acceso. Si deseas obtener información detallada sobre los flujos para varios tipos de aplicaciones, consulta la documentación de OAuth 2.0 de Google.
A continuación, se muestra la información del alcance de OAuth 2.0 para la API de Manufacturer Center:
Para solicitar acceso con OAuth 2.0, tu aplicación necesita los datos del alcance, además de la información que Google proporciona cuando registras la aplicación (como el ID y el secreto del cliente).
Sugerencia: Las bibliotecas cliente de las API de Google pueden controlar algunos de los procesos de autorización por ti. Están disponibles para una variedad de lenguajes de programación. Si quieres obtener más detalles, consulta la página que incluye bibliotecas y ejemplos.
Ejemplo de autorización
En el siguiente código, se muestra cómo configurar tu cliente y autorizarlo
solicitudes con OAuth 2.0 para aplicaciones instaladas. Otros idiomas son
disponible en nuestra página Muestras y bibliotecas.
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,["Última actualización: 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 }"]]