2016-06-19 4 views
1

Я пошел на веб-сайте Microsoft, и я пытаюсь реализовать свой код, который они выложили на линии, которая заключается в следующем:Получение сообщение об ошибке 401 при использовании Bing API поиска

import http.client, urllib.request, urllib.parse, urllib.error, base64 

headers = { 
    # Request headers 
    'xxxxxxxxxx': '{subscription key}', 
} 

params = urllib.parse.urlencode({ 
    # Request parameters 
    'q': 'microsoft', 
    'count': '10', 
    'offset': '0', 
    'mkt': 'en-us', 
    'safeSearch': 'Moderate', 
}) 

try: 
    conn = http.client.HTTPSConnection('bingapis.azure-api.net') 

conn.request("GET", "/api/v5/news/search?%s" % params, "{body}", headers) 
response = conn.getresponse() 
data = response.read() 
print(data) 
conn.close() 
except Exception as e: 
    print("[Errno {0}] {1}".format(e.errno, e.strerror)) 

Я получаю 401 ошибку о том, «Доступ запрещен из-за отсутствия ключа подписки. Обязательно включите ключ подписки при обращении к API «

Я включаю правильный ключ подписки, когда я реализую это, но не уверен, что случилось.

+0

Согласно этой документации https://msdn.microsoft.com/en-us/ library/dn760783.aspx требуется заголовок запроса 'Ocp-Apim-Subscription-Key'. –

ответ

0

В соответствии с настоящей документацией https://msdn.microsoft.com/en-us/library/dn760783.aspx требуется заголовок запроса Ocp-Apim-Subscription-Key. Включите эту опцию, где вы определяете заголовки, как так:

headers = { 
    # Request headers 
    'Ocp-Apim-Subscription-Key': '{subscription key}', 
} 
Смежные вопросы