2016-10-21 4 views
1

Я пытаюсь извлечь данные из API Airbnb, но при запуске моего кода получаю ошибку HTTP 403, это означает, что я каким-то образом не имею доступа к серверу Airbnb. Однако у меня есть ключ API. Может кто-нибудь, пожалуйста, помогите мне здесь? Помощь очень ценится!Ошибка 403 при получении данных из API Airbnb

Это мой код: '?'

#Import required modules 
import amadeus 
import urllib2 
import json 

client_id= "**********" 


#URL 
URL = "https://api.airbnb.com/v2/search_results? client_id=***********otqw18e8nh5nty&locale=en-US&currency=USD&_format=for_search_results_with_minimal_pricing&_limit=10&_offset=0&fetch_facets=true&guests=1&ib=false&ib_add_photo_flow=true&location=Lake%20Tahoe%2C%20CA%2C%20US&min_bathrooms=0&min_bedrooms=0&min_beds=1&min_num_pic_urls=10&price_max=210&price_min=40&sort=1&user_lat=37.3398634&user_lng=-122.0455164" 
print URL 

#Convert to Json format 
json_obj = urllib2.urlopen(URL) 

data = json.load(json_obj) 

print data 

ответ

0

удалить пробелы между и 'client_id = ...'

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

И: никогда не опубликуйте свой API-ключ на сайтах, подобных этому.

+0

Я попытался, но она по-прежнему дает мне ту же ошибку. Можете ли вы рассказать о том, что вы подразумеваете под звоном? – aeengineer

+0

Я использовал URL-адрес, чтобы передать его в виде строки в инструмент командной строки 'curl', который просто выполняет обычный запрос HTTP-получения, и затем я получил результаты, не требуя дополнительных заголовков. Так что URL-адрес работает. Работает ли он при копировании и вставке URL-адреса в браузер? –

+0

Он работает при копировании URL-адреса в браузер. Извините за задержку с ответом. На моем компьютере друзей тот же код действительно работает, но сейчас. – aeengineer

1

вы должны отправить apikey в запросе, как это:

import urllib2 
request = urllib2.Request("yourURL", headers={"X-Airbnb-OAuth-Token" : "yourapikey"}) 
contents = urllib2.urlopen(request).read() 

(им не 100% уверен, но, возможно, это помогает)

+0

Я пробовал ваш предлагаемый код, однако та же ошибка была поднята. Кажется, что у меня нет доступа к серверу или что-то еще? – aeengineer

+0

Возможно, вы можете попробовать airbnb python api (https://github.com/nderkach/airbnb-python) –

Смежные вопросы