2016-10-25 1 views
-1

Lorsque je fais une demande d'obtenir envoyé mon contenu à l'analyseur de token Watson pour obtenir l'analyse de ton json, il renvoie un 401 Aucune erreur 'Access-Control-Allow-Origin'. Je fais cela du côté client avec javascript.Obtenir la requête à l'analyseur de tonalité watson retourne aucune erreur 'Access-Control-Allow-Origin' 401

Est-il possible d'interroger l'analyseur de tonalité api avec une requête get du côté client?

Voici ce que je fais:

$.ajax({ 
    url:'https://gateway.watsonplatform.net/tone-analyzer/api/v3/tone?version=2016-05-19&text='+encodeURI(input), 
    data:{ 
     'username':'password' 
    }, 
    contentType:'application/json', 
    method:'GET', 
    success:function(tone){ 
     console.log(tone); 
    } 
}); 

Demande côté client jeton à utiliser côté client api:

$.ajax({ 
    url:'https://gateway.watsonplatform.net/authorization/api/v1/token', 
    data:{ 
     'url':'https://gateway.watsonplatform.net/tone-analyzer/api/v3/tone', 
     'username':'password' 
    }, 
    dataType:'jsonp', 
    contentType:'application/javascript', 
    method:'GET' 
}); 
+1

double possible de [Pourquoi la demande sur le site renvoie l'erreur Access-Control-Allow-Origin] (http://stackoverflow.com/questions/8795560/why- request-to-site-returns-erreur-access-control-allow-origine) –

+1

Pour savoir si IBM vous permettra d'appeler son API ... cela ressemble à une question pour IBM. –

+0

@MikeMcCaughan dans leur aide et leur soutien, ils disent poste ici avec l'onglet ibm-bluemix – wordSmith

Répondre

1

Ressemble Analyzer Tone est CORS pris en charge qui permet l'option n ° 2 ci-dessous

Vous pouvez:

  1. Utilisation du côté serveur API
  2. Obtient un jeton d'authentification (expire après 1 heure) côté serveur à l'aide du authorization service. Renvoyez ce jeton à votre client afin que votre appel javascript puisse utiliser le jeton lorsqu'il demande l'API Tone Analyzer à votre client.

Un exemple 2 ci-dessus est here

+0

Puis-je obtenir le jeton du côté client, puis nous aussi client? Je pensais que c'est ce que dit ceci, https://www.ibm.com/watson/developercloud/doc/getting_started/gs-tokens.shtml, mais quand j'essaie d'exécuter la requête pour le jeton, j'obtiens un identifiant inattendu erreur dans mon URL et l'URL ressemble à une chaîne parfaitement bien pour moi. J'ai mis à jour ma question avec la requête ajax je suis côté client – wordSmith

+0

donc à partir de ce lien je vois cette citation "Vous pouvez écrire un proxy d'authentification dans Bluemix® qui obtient et retourne un jeton à votre application client, qui peut ensuite utiliser le jeton pour appeler le service directement "ce qui me fait croire que vous devez appeler le service d'authentification de votre serveur. Je regarde spécifiquement la partie "renvoie un jeton à votre application client qui peut ensuite utiliser le jeton pour appeler le service directement" –

+0

@alright, merci – wordSmith