2017-03-31 15 views
0

J'ai quelques problèmes avec l'API de recherche de nouvelles bing, le plus étrange est la recherche par catégorie, selon la documentation, la catégorie doit être une chaîne, j'ai trouvé plusieurs ressources pour quelles valeurs il accepte donc j'ai décidé d'aller avec la console (https://dev.cognitive.microsoft.com/docs/services/56b43f72cf5ff8098cef380a/operations/56b449fbcf5ff81038d15cdf/console). Une fois que vous sélectionnez une catégorie et que vous la mettez comme clé, cela fonctionne très bien. Le problème est quand je copier exactement la même URL de la console à postier, j'utiliser la même clé et je reçois en-tête « 400 Bad Request » avec ce corps:400 erreur avec bing nouvelles recherche api

{ 
    "_type": "ErrorResponse", 
    "errors": [ 
    { 
     "code": "RequestParameterInvalidValue", 
     "message": "Parameter has invalid value.The category parameter is invalid.", 
     "parameter": "category", 
     "value": "Entertainment" 
    } 
    ] 
} 

idée de ce que je fais mal ici?

Répondre

0

Voici une solution très Hacky: puisque la demande fonctionne bien via la console développeur, je visitai la demande et a essayé de repeate il pensait boucle, semble fonctionner correctement, la commande est la suivante:

curl 'https://dev.cognitive.microsoft.com/console/query' -H 'Content-Type: application/json' --data-binary '{"httpMethod":"GET","host":"api.cognitive.microsoft.com","scheme":"https","path":"bing/v5.0/news/?Category=Entertainment","headers":[{"name":"Host","value":"api.cognitive.microsoft.com","inputTypeValue":"text","revealed":false,"options":null,"required":true,"readonly":true,"custom":false},{"name":"Ocp-Apim-Subscription-Key","value":"<your key value>","inputTypeValue":"password","revealed":false,"options":[],"required":true,"readonly":false,"custom":true,"secret":true}],"parameters":[{"name":"Category","value":"Entertainment","inputType":"text","required":false,"options":["Business","Entertainment","Health","Politics","ScienceAndTechnology","Sports","US/UK","World"],"custom":false,"description":"<p>Specifies which category of news articles the caller wants returned.</p>\n","typeName":"string"}],"body":""}' 

les données JSON J'envoie est ce (copié à partir de la commande ci-dessus)

{ "HTTPMethod": "GET", "hôte": "api.cognitive.microsoft.com", "système" : "https", "chemin": "bing/v5.0/news /? Catégorie = Divertissement", "en-têtes": [{"name": "Hôte", "valeur": "api.cognitive.microsoft.com", "inputTypeValue": "texte", "a révélé": false, "options": null , "required": true, "readonly": true, "custom": false}, {"name": "Ocp-Apim-Abonnement-Clé", "value": "", "inputTypeValue": " mot de passe "," indiqué ": false," options ": [], " required ": true," readonly ": false," custom ": true," secret ": true}]," paramètres ": [{ "name": "Category", "value": "Divertissement", "inputType": "text", "required": false, "options": ["Professionnel", "Divertissement", "Santé", " Politique ", " ScienceAndTechnology "," Sports "," US/UK "," Monde "]," custom ": fal se, "description": "

Spécifie quelle catégorie d'articles d'actualités l'appelant veut renvoyer.

\ n », "typeName": "string"}], "corps": ""}

Je vais marquer cela comme bon pour l'instant car je ne peux trouver aucune autre solution