Pergunta
Como posso fazer uma solicitação de API de um aplicativo personalizado instalado em minha conta para a API de outra conta e não receber o erro abaixo?
o erro não é um URI com proxy
Resposta
O comportamento padrão declient.request
é enviar a solicitação por meio da camada de proxy do Zendesk, resultando em uma resposta de URI de erro 404.
Para fazer um client.request para a API de outra conta do Zendesk de um aplicativo personalizado em sua conta, passe cors: true
no objeto de opções de solicitação. Isso permitirá que a solicitação ignore a camada de proxy do Zendesk, o que evita fazer solicitações HTTP de um Zendesk para outro.
// 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);
});
}
Uma observação sobre solicitações do lado do cliente versus solicitações do lado do servidor
Cada um de nossos pontos de extremidade da API implementa CORS. Portanto, se a solicitação do aplicativo for originada do lado do cliente, ela falhará com as respostas do CORS, a menos que o OAuth seja usado. Se apenas a leitura de dados (GET) for obrigatória, defina o escopo do token OAuth para acesso somente leitura a recursos específicos e implemente esse lado do cliente.
Se a solicitação do aplicativo para a outra API do Zendesk for gravar dados (PUT, POST), essa não é uma opção segura, pois o token é exposto no tráfego de rede. Na maioria dos outros fluxos de trabalho, as configurações seguraspodem ser usadas para evitar a exposição do token.
No entanto, as configurações seguras não funcionam para esse fluxo de trabalho, pois exigem que a solicitação passe pela camada de proxy do Zendesk. Se a gravação de dados for necessária, considere soluções do lado do servidor, onde a solicitação para a outra API do Zendesk é gerenciada e a resposta é enviada de volta para o aplicativo.
Aviso sobre a tradução: este artigo foi traduzido por um software de tradução automática para oferecer a você uma compreensão básica do conteúdo. Medidas razoáveis foram tomadas para fornecer uma tradução precisa, no entanto, a Zendesk não garante a precisão da tradução.
Em caso de dúvidas relacionadas à precisão das informações contidas no artigo traduzido, consulte a versão oficial do artigo em inglês.
0 Comentários
Por favor, entre para comentar.