Oltre alle quote delle chiamate API, Merchant Center applica altri limiti alle risorse. Questi limiti vengono spesso confusi con le quote API, ma fanno parte dei limiti di Merchant Center. Per saperne di più, consulta la pagina Informazioni sulle quote in Google Merchant Center.
Limiti di prodotto
Per controllare i limiti di prodotto, utilizza i accounts.limits.get e i accounts.limits.list metodi.
Per recuperare un limite di prodotto specifico, ad esempio per ottenere la quota SEE degli annunci di
un account, devi specificare l'ID account e l'ID limite nella chiamata a
accounts.limits.get.
L'ID limite è una combinazione del tipo di limite e dell'ambito. Ad esempio, products~ADS_EEA per i prodotti che targetizzano gli annunci nel SEE e products~ADS_NON_EEA per i prodotti che targetizzano gli annunci al di fuori del SEE.
Ecco una richiesta di esempio per ottenere il limite products~ADS_EEA per un determinato account:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits/products~ADS_EEA
L'esempio seguente mostra come recuperare un limite di account specifico:
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");
}
}
Per scoprire gli ID limite disponibili per il tuo account, utilizza
accounts.limits.list
con un filtro per type="products":
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits?filter=type%3D%22products%22
L'esempio seguente mostra come elencare i limiti dell'account:
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());
}
}
Limiti di rappresentazione delle risorse
I seguenti limiti descrivono limitazioni significative per determinati valori delle stringhe e campi di array all'interno delle rappresentazioni delle risorse utilizzate nell'API Merchant. Questi limiti sono gli stessi sia per l'API Merchant sia per la funzionalità corrispondente in Merchant Center.
| Risorsa | Campo | Limite |
|---|---|---|
shippingsettings |
Servizi di spedizione per paese ( Gruppi di spedizione per servizio di spedizione ( Etichette per gruppo di spedizione ( Sottotabelle per gruppo di spedizione ( Numero di righe o colonne in una singola tabella delle tariffe. Lunghezza delle etichette di spedizione. |
20 20 30 100 150 100 |
Il numero di righe o colonne in una tabella delle tariffe influisce sui seguenti campi di array:
- Campi di array in
rowHeadersocolumnHeaders:prices[]weights[]numberOfItems[]postalCodeGroupNames[]locations[]rows[]cells[]