Selain kuota panggilan API, Merchant Center juga menerapkan batas lain pada resource. Batas ini sering kali disalahartikan sebagai kuota API, tetapi batas ini merupakan bagian dari batas Merchant Center. Untuk mengetahui informasi selengkapnya, lihat Memahami kuota di Google Merchant Center.
Batas produk
Untuk memeriksa batas produk, Anda menggunakan accounts.limits.get dan accounts.limits.list.
Untuk mengambil batas produk tertentu, misalnya, untuk mendapatkan kuota EEA Iklan akun, Anda harus menentukan ID akun dan ID batas dalam panggilan ke
accounts.limits.get.
ID batas adalah kombinasi dari jenis batas dan cakupan. Misalnya, products~ADS_EEA untuk produk yang menargetkan iklan di EEA, dan products~ADS_NON_EEA untuk produk yang menargetkan iklan di luar EEA.
Berikut adalah contoh permintaan untuk mendapatkan batas products~ADS_EEA untuk akun tertentu:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits/products~ADS_EEA
Contoh berikut menunjukkan cara mengambil batas akun tertentu:
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.quota.v1.AccountLimit;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceClient;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceSettings;
import com.google.shopping.merchant.quota.v1.GetAccountLimitRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to get a single account limit for a given Merchant Center account.
*/
public class GetAccountLimitSample {
public static void getAccountLimit(String accountId, String limitId) throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
AccountLimitsServiceSettings accountLimitsServiceSettings =
AccountLimitsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
try (AccountLimitsServiceClient accountLimitsServiceClient =
AccountLimitsServiceClient.create(accountLimitsServiceSettings)) {
GetAccountLimitRequest request =
GetAccountLimitRequest.newBuilder()
.setName(String.format("accounts/%s/limits/%s", accountId, limitId))
.build();
System.out.println("Sending get account limit request:");
AccountLimit response = accountLimitsServiceClient.getAccountLimit(request);
System.out.println("Retrieved account limit below");
System.out.println(response);
} catch (Exception e) {
System.out.println("Failed to get account limit.");
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
// The limit ID is a combination of the limit type and the scope, for example:
// `products~ADS_NON_EEA`
getAccountLimit(config.getAccountId().toString(), "products~ADS_EEA");
}
}
Untuk mempelajari ID batas yang tersedia untuk akun Anda, gunakan
accounts.limits.list
dengan filter untuk type="products":
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits?filter=type%3D%22products%22
Contoh berikut menunjukkan cara mencantumkan batas akun:
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.quota.v1.AccountLimit;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceClient;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceClient.ListAccountLimitsPagedResponse;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceSettings;
import com.google.shopping.merchant.quota.v1.ListAccountLimitsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to list account limits for a given Merchant Center account. */
public class ListAccountLimitsSample {
public static void listAccountLimits(String accountId) throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
AccountLimitsServiceSettings accountLimitsServiceSettings =
AccountLimitsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
try (AccountLimitsServiceClient accountLimitsServiceClient =
AccountLimitsServiceClient.create(accountLimitsServiceSettings)) {
ListAccountLimitsRequest request =
ListAccountLimitsRequest.newBuilder()
.setParent(String.format("accounts/%s", accountId))
.setFilter("type = \"products\"")
.build();
System.out.println("Sending list account limits request:");
ListAccountLimitsPagedResponse response =
accountLimitsServiceClient.listAccountLimits(request);
int count = 0;
// Iterates over all rows in all pages and prints the account limit in each row.
// Automatically uses the `nextPageToken` if returned to fetch all pages of data.
for (AccountLimit accountLimit : response.iterateAll()) {
System.out.println(accountLimit);
count++;
}
System.out.print("The following count of account limits were returned: ");
System.out.println(count);
} catch (Exception e) {
System.out.println("Failed to list account limits.");
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
listAccountLimits(config.getAccountId().toString());
}
}
Batas representasi resource
Batas berikut menjelaskan batasan penting untuk nilai string dan kolom array tertentu dalam representasi resource yang digunakan di Merchant API. Batas ini sama untuk Merchant API dan fitur terkait di Merchant Center.
| Resource | Kolom | Batas |
|---|---|---|
shippingsettings |
Layanan pengiriman per negara ( Grup pengiriman per layanan pengiriman ( Label per grup pengiriman ( Subtabel per grup pengiriman ( Jumlah baris atau kolom dalam satu tabel tarif. Panjang label paket. |
20 20 30 100 150 100 |
Jumlah baris atau kolom dalam tabel tarif memengaruhi kolom array berikut:
- Kolom array dalam
rowHeadersataucolumnHeaders:prices[]weights[]numberOfItems[]postalCodeGroupNames[]locations[]rows[]cells[]