Question
Comment faire une demande API à partir d'une application personnalisée installée dans mon compte vers l'API d'un autre compte sans recevoir le message d'erreur ci-dessous ?
error n'est pas un URI pouvant faire l'objet d'un proxy
Réponse
Le comportement par défaut declient.request
est d'envoyer la demande par le biais de la couche proxy de Zendesk, le 403 n'est donc pas une réponse d'URI pouvant fairel'objet d'un proxy .
Pour envoyer une demande client.request à l'API d'un autre compte Zendesk à partir d'une application personnalisée de votre compte, cors: true
dans l'objet d'options de la demande. Cela permettra à la demande de contourner la couche proxy de Zendesk, ce qui empêche d'effectuer des demandes HTTP d'un Zendesk à un autre.
// make a request from a custom app in one Zendesk to the API of another Zendesk
function newRequest(){
var options = {
url: 'https://subdomain.zendesk.com/api/v2/....',
headers: { "Authorization": "Bearer OAUTH_TOKEN"},
type: 'POST',
data: JSON.stringify({my:"json", values:"go here"}),
contentType: "application/json",
cors: true
}
client.request(options).then(
function(response) {
console.log(response);
});
}
Remarque sur les demandes côté client et les demandes côté serveur
Chacun de nos points de terminaison API implémente CORS. Par conséquent, si la demande de l'application provient du côté client, elle échouera avec les réponses CORS, sauf si OAuth est utilisé. Si seule la lecture des données (GET) est requise, définissez le token OAuth pour l'accès en lecture seule à des ressources spécifiques et implémentez-le côté client.
Si la demande de l'application à l'autre API Zendesk consiste à écrire des données (PUT, POST), cette option n'est pas sécurisée car le token est exposé au trafic réseau. Dans la plupart des autres workflows, des paramètres sécuriséspeuvent être utilisés pour empêcher l'exposition du token.
Cependant, les paramètres sécurisés ne fonctionnent pas pour ce workflow, car ils nécessitent que la demande passe par la couche proxy de Zendesk. Si l'écriture de données est nécessaire, envisagez des solutions côté serveur, dans lesquelles la demande à l'autre API Zendesk est traitée côté serveur et la réponse est renvoyée à l'application.
Traduction - exonération : cet article a été traduit par un logiciel de traduction automatisée pour permettre une compréhension élémentaire de son contenu. Des efforts raisonnables ont été faits pour fournir une traduction correcte, mais Zendesk ne garantit pas l’exactitude de la traduction.
Si vous avez des questions quant à l’exactitude des informations contenues dans l’article traduit, consultez la version anglaise de l’article, qui représente la version officielle.