Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Setiap permintaan yang dikirimkan aplikasi Anda ke Manufacturer Center API harus menyertakan token otorisasi. Token ini juga mengidentifikasi aplikasi Anda ke Google.
Tentang protokol otorisasi
Aplikasi Anda harus menggunakan OAuth 2.0 untuk mengizinkan permintaan. Tidak ada protokol otorisasi lain yang didukung. Jika aplikasi Anda menggunakan Login dengan Google, beberapa aspek otorisasi akan ditangani untuk Anda.
Mengizinkan permintaan dengan OAuth 2.0
Semua permintaan ke Manufacturer Center API harus diizinkan oleh pengguna yang diautentikasi.
Detail proses otorisasi, atau "alur", untuk OAuth 2.0 bervariasi bergantung pada jenis aplikasi yang Anda tulis. Proses umum berikut berlaku untuk semua jenis aplikasi:
Saat membuat aplikasi, Anda mendaftarkannya menggunakan Konsol Google API. Selanjutnya, Google menyediakan informasi yang akan Anda perlukan nanti, seperti ID klien dan rahasia klien.
Aktifkan Manufacturer Center API di Konsol API Google. (Jika API tidak tercantum di Konsol API, lewati langkah ini.)
Saat memerlukan akses ke data pengguna, aplikasi Anda akan meminta cakupan akses tertentu kepada Google.
Google menampilkan layar izin kepada pengguna, yang meminta mereka mengizinkan aplikasi Anda untuk meminta beberapa data.
Jika pengguna menyetujui, Google akan memberikan token akses berumur singkat ke aplikasi Anda.
Aplikasi Anda meminta data pengguna, dengan menambahkan token akses ke permintaan.
Jika Google menentukan bahwa permintaan Anda dan token tersebut valid, data yang diminta akan ditampilkan.
Beberapa alur mencakup langkah tambahan, seperti penggunaan token refresh untuk memperoleh token akses baru. Informasi selengkapnya tentang alur untuk berbagai jenis aplikasi dapat dilihat di dokumentasi OAuth 2.0 Google.
Berikut adalah informasi cakupan OAuth 2.0 untuk Manufacturer Center API:
Untuk meminta akses menggunakan OAuth 2.0, aplikasi Anda memerlukan informasi cakupan, serta informasi yang disediakan oleh Google saat Anda mendaftarkan aplikasi (seperti ID klien dan rahasia klien).
Tips: Library klien Google API dapat menangani beberapa proses otorisasi secara otomatis. Library klien ini tersedia untuk berbagai bahasa pemrograman. Periksa halaman yang menjelaskan library beserta contohnya untuk mendapatkan informasi lebih mendetail.
Contoh Otorisasi
Kode berikut menunjukkan cara mengonfigurasi klien Anda dan memberi otorisasi
permintaan yang menggunakan OAuth 2.0 untuk aplikasi yang terpasang. Bahasa lainnya adalah
yang tersedia di halaman Sample dan Library kami.
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,["Terakhir diperbarui pada 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 }"]]