À partir du 8 septembre 2025, chaque nouvelle ligne devra indiquer si elle diffusera ou non des annonces à caractère politique dans l'Union européenne (UE). Les importations de fichiers SDF et les appels à l'API Display & Video 360 qui ne fournissent pas de déclarations échoueront. Pour savoir comment mettre à jour votre intégration afin d'effectuer cette déclaration, consultez notre page sur les abandons de compatibilité.
Configurer des délais avant expiration et de nouvelles tentatives
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
De nombreuses méthodes de l'API Display & Video 360 effectuent des opérations complexes qui peuvent prendre plus de quelques secondes. Les requêtes envoyées à ces méthodes peuvent parfois dépasser la latence attendue, ce qui entraîne des erreurs côté API ou client. Cette page liste les pratiques à suivre pour gérer les problèmes causés par une latence de requête prolongée.
Augmenter le délai avant expiration par défaut dans la bibliothèque cliente
Dans leur documentation de référence, certaines méthodes spécifiques ont été signalées comme dépassant régulièrement la latence attendue. D'autres méthodes peuvent également présenter un comportement à latence élevée de manière périodique.
Les limites de délai avant expiration par défaut de certaines bibliothèques clientes peuvent entraîner des erreurs lors de l'envoi de requêtes à latence élevée. Les délais avant expiration par défaut pour un sous-ensemble de bibliothèques clientes compatibles sont les suivants:
Java: 20 secondes
Python: 60 secondes
PHP: 60 secondes
Vous pouvez éviter les délais avant expiration côté client en augmentant ces délais par défaut. Suivez ces instructions pour ajuster le délai avant expiration par défaut de votre bibliothèque cliente pendant l'exécution:
Fonction de compilation pour définir le délai avant expiration HTTP.
/** * Adjusts HTTP timeout values used by the provided request initializer. * * @param requestInitializer The {@link HttpRequestInitializer} used to authorize requests. * @param newHttpTimeout The HTTP timeout for requests in seconds. * @return An {@link HttpRequestInitializer} with modified HTTP timeout values. */privatestaticHttpRequestInitializersetHttpTimeout(finalHttpRequestInitializerrequestInitializer,finalintnewHttpTimeout){returnnewHttpRequestInitializer(){@Overridepublicvoidinitialize(HttpRequesthttpRequest)throwsIOException{requestInitializer.initialize(httpRequest);httpRequest.setConnectTimeout(newHttpTimeout*1_000);httpRequest.setReadTimeout(newHttpTimeout*1_000);}};}
Appelez la fonction lorsque vous créez le client de l'API Display & Video 360.
// Create authorized API client with non-default timeouts.DisplayVideoservice=newDisplayVideo.Builder(credential.getTransport(),credential.getJsonFactory(),setHttpTimeout(credential,http-timeout-in-seconds)).setApplicationName("displayvideo-java-installed-app-sample").build();
Python
Importez le module HTTP de la bibliothèque cliente Python des API Google.
fromgoogleapiclientimporthttp
Mise à jour de la constante de délai avant expiration par défaut.
# Build the API service.service=discovery.build('displayvideo','v3',discoveryServiceUrl=discovery_url,credentials=credentials)
PHP
Téléchargez et installez la bibliothèque HTTP Guzzle à l'aide de Composer.
composerrequireguzzlehttp/guzzle:^7.0
Créez un client HTTP Guzzle en attribuant une valeur de délai avant expiration.
$httpClient = new \GuzzleHttp\Client(['timeout' => http-timeout-in-seconds]);
Créez un client Google et attribuez-lui le client HTTP Guzzle.
$client = new Google_Client();$client->setHttpClient($httpClient);
Gérer les erreurs d'expiration de délai de l'API
Dans de rares cas, les requêtes effectuant des opérations complexes peuvent dépasser le délai d'inactivité côté serveur de 180 secondes, ce qui entraîne le renvoi d'une réponse d'erreur 408 ou 504 par l'API.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[[["\u003cp\u003eSome Display & Video 360 API methods might take longer to complete, potentially leading to errors due to request latency.\u003c/p\u003e\n"],["\u003cp\u003eYou can increase the default timeout in your client library (Java, Python, or PHP) to avoid client-side timeout errors.\u003c/p\u003e\n"],["\u003cp\u003eThe Display & Video 360 API has a server-side timeout of 180 seconds, after which it will return a \u003ccode\u003e408\u003c/code\u003e or \u003ccode\u003e504\u003c/code\u003e error.\u003c/p\u003e\n"],["\u003cp\u003eIf a request exceeds the server-side timeout, retry it using exponential backoff and contact support if the issue persists.\u003c/p\u003e\n"]]],["The core issue addressed is managing request latency with the Display & Video 360 API, where some operations may take longer than expected. To prevent client-side timeout errors, it is recommended to increase the default timeout in the client library. The provided examples show how to adjust timeout settings in Java, Python, and PHP. In the rare case that requests exceed the API's 180-second server-side timeout, resulting in `408` or `504` errors, the advice is to retry with exponential backoff and contact support if problems continue.\n"],null,["# Configure timeouts and retries\n\nMany Display \\& Video 360 API methods perform complex operations that might take longer than\na few seconds to complete. Requests to these methods can sometimes exceed\nexpected latency, causing errors on the API or client side. This page lists\npractices for handling issues caused by extended request latency.\n\nIncrease default timeout in client library\n------------------------------------------\n\nA handful of specific methods have been labeled in their reference documentation\nas regularly exceeding expected latency. Other methods could also exhibit\nhigh-latency behavior periodically.\n\nThe default timeout limits for some client libraries could result in errors when\nmaking high-latency requests. Default timeouts for a subset of supported client\nlibraries are:\n\n- **Java**: 20 seconds\n- **Python**: 60 seconds\n- **PHP**: 60 seconds\n\nClient-side timeouts can be avoided by raising these default timeouts. Follow\nthese instructions to adjust the default timeout for your client library during\nruntime:\n**Caution:** The Display \\& Video 360 API has a server-side timeout value of 180 seconds. If a request lasts longer than 180 seconds, the API will return an error. \n\n### Java\n\n1. **Import necessary resources.**\n\n import com.google.api.client.http.HttpRequest;\n import com.google.api.client.http.HttpRequestInitializer;\n import java.io.IOException;\n\n2. **Build function for setting HTTP timeout.**\n\n /**\n * Adjusts HTTP timeout values used by the provided request initializer.\n *\n * @param requestInitializer The {@link HttpRequestInitializer} used to authorize requests.\n * @param newHttpTimeout The HTTP timeout for requests in seconds.\n * @return An {@link HttpRequestInitializer} with modified HTTP timeout values.\n */\n private static HttpRequestInitializer setHttpTimeout(\n final HttpRequestInitializer requestInitializer,\n final int newHttpTimeout) {\n return new HttpRequestInitializer() {\n @Override\n public void initialize(HttpRequest httpRequest) throws IOException {\n requestInitializer.initialize(httpRequest);\n httpRequest.setConnectTimeout(newHttpTimeout * 1_000);\n httpRequest.setReadTimeout(newHttpTimeout * 1_000);\n }\n };\n }\n\n3. **Call function when creating the Display \\& Video 360 API client.**\n\n // Create authorized API client with non-default timeouts.\n DisplayVideo service =\n new DisplayVideo.Builder(\n credential.getTransport(),\n credential.getJsonFactory(),\n setHttpTimeout(credential, \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003ehttp\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003etimeout\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003ein\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eseconds\u003c/span\u003e\u003c/var\u003e)\n )\n .setApplicationName(\"displayvideo-java-installed-app-sample\")\n .build();\n\n### Python\n\n1. **Import Google API Python client library http module.**\n\n from googleapiclient import http\n\n2. **Update default timeout constant.**\n\n http.DEFAULT_HTTP_TIMEOUT_SEC = \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003ehttp\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003etimeout\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-ow\"\u003ein\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eseconds\u003c/span\u003e\u003c/var\u003e\n\n3. **Build API service.**\n\n # Build the API service.\n service = discovery.build(\n 'displayvideo',\n 'v3',\n discoveryServiceUrl=discovery_url,\n credentials=credentials)\n\n### PHP\n\n1. **Download and install the Guzzle HTTP library using\n [Composer](//getcomposer.org/).**\n\n composer require guzzlehttp/guzzle:^7.0\n\n2. **Create Guzzle HTTP client, assigning timeout value.**\n\n $httpClient = new \\GuzzleHttp\\Client(['timeout' =\u003e \u003cvar translate=\"no\"\u003ehttp-timeout-in-seconds\u003c/var\u003e]);\n\n3. **Create Google client and assign Guzzle HTTP client.**\n\n $client = new Google_Client();\n $client-\u003esetHttpClient($httpClient);\n\nHandle API timeout errors\n-------------------------\n\nIn rare cases, requests completing complex operations could exceed the\nserver-side timeout of 180 seconds, causing the API to return a `408` or `504`\nerror response.\n\nIf a request responds with either of these error codes, we recommend that you\nretry these requests using the [exponential backoff strategy](/display-video/api/guides/how-tos/upload#exp-backoff).\n\nIf the error persists, reach out to support using the [contact form](/display-video/api/support/contact)."]]