Neben den Kontingenten für API-Aufrufe gelten im Merchant Center weitere Limits für Ressourcen. Diese werden oft mit API-Kontingenten verwechselt, sind aber Teil der Merchant Center-Limits. Weitere Informationen finden Sie unter Informationen zu Kontingenten im Google Merchant Center.
Produktlimits
Wenn Sie Produktlimits prüfen möchten, verwenden Sie die accounts.limits.get und accounts.limits.list.
Wenn Sie ein bestimmtes Produktlimit abrufen möchten, z. B. das EWR-Kontingent für Anzeigen eines Kontos, müssen Sie die Konto-ID und die Limit-ID in Ihrem Aufruf von
accounts.limits.get angeben.
Die Limit-ID ist eine Kombination aus dem Limit-Typ und dem Umfang. Beispiel: products~ADS_EEA für Produkte, die auf Anzeigen im EWR ausgerichtet sind, und products~ADS_NON_EEA für Produkte, die auf Anzeigen außerhalb des EWR ausgerichtet sind.
Hier ist ein Beispiel für eine Anfrage zum Abrufen des Limits products~ADS_EEA für ein bestimmtes Konto:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits/products~ADS_EEA
Im folgenden Beispiel wird gezeigt, wie Sie ein bestimmtes Kontolimit abrufen:
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");
}
}
Wenn Sie die verfügbaren Limit-IDs für Ihr Konto abrufen möchten, verwenden Sie
accounts.limits.list
mit einem Filter für type="products":
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits?filter=type%3D%22products%22
Im folgenden Beispiel wird gezeigt, wie Sie Kontolimits auflisten:
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());
}
}
Limits bei der Ressourcendarstellung
Die folgenden Limits beschreiben wichtige Einschränkungen, die für bestimmte Stringwerte und Arrayfelder in den Ressourcendarstellungen gelten, die in der Merchant API verwendet werden. Diese Limits gelten sowohl für die Merchant API als auch für die entsprechende Funktion im Merchant Center.
| Ressource | Feld | Limit |
|---|---|---|
shippingsettings |
Versandservices pro Land ( Versandgruppen pro Versandservice ( Labels pro Versandgruppe ( Untergeordnete Tabellen pro Versandgruppe ( Anzahl der Zeilen oder Spalten in einer einzelnen Preistabelle. Länge der Versandlabels |
20 20 30 100 150 100 |
Die Anzahl der Zeilen oder Spalten in einer Preistabelle wirkt sich auf die folgenden Arrayfelder aus:
- Arrayfelder in
rowHeadersodercolumnHeaders:prices[]weights[]numberOfItems[]postalCodeGroupNames[]locations[]rows[]cells[]