2015-08-20 2 views
2

Я пытаюсь отправить запрос на REST API parse.com. В соответствии с документацией parse мне нужно поместить идентификатор приложения и ключ API в запрос.Как добавить заголовки для сна в python?

Я пытался сделать это с помощью дремоту, но я получаю ошибку Client 401: http://api.parse.com/1/installations/

Что такое правильный способ, чтобы добавить заголовки дремоты? Я пробовал следовать документам http://slumber.readthedocs.org/en/latest/options.html#custom-session-objects, но, похоже, он устарел и даже после некоторых изменений он все равно не работает.

Для справки, вот мой код:

session = requests.Session() 
session.headers = {"X-Parse-Application-Id": APPLICATION_ID, "X-Parse-REST-API-Key": API_KEY} 

api = slumber.API("http://api.parse.com/1/", session=session) 
api.installations.get() 

EDIT: Вместо X-Parse-REST-API-ключ, это на самом деле X-Разбираем-Master-Key

ответ

1

Я думаю, что лучше всего способ сделать это - использовать пользовательский класс проверки подлинности http://slumber.readthedocs.org/en/latest/options.html#specify-authentication:

import slumber 
from requests.auth import AuthBase 

class ParseAuth(AuthBase): 
    def __init__(self, app_id, api_key): 
     self.app_id = app_id 
     self.api_key = api_key 

    def __call__(self, r): 
     r.headers['X-Parse-Application-Id'] = self.app_id 
     r.headers['X-Parse-REST-API-Key'] = self.api_key 
     return r 

api = slumber.API("http://api.parse.com/1/", auth=ParseAuth("my_app_id", "my_api_key")) 
+0

Спасибо за ваш ответ. Я пытался сделать то, что вы сказали, но я все еще получаю 401. Я уверен, что мои заголовки должны быть правильными, потому что они работают для завитки в терминале. Мне любопытно узнать, действительно ли дремлет отправляет мои заголовки. Есть ли способ увидеть содержимое отправки запроса спама? – gerald

+0

nvm это ответ. Я использовал http, когда он должен быть https. тем не менее, было бы неплохо увидеть, как выглядят запросы для целей отладки. – gerald

+0

slumber использует библиотеку запросов под капотом, используйте это, чтобы включить ведение журнала отладки: http://stackoverflow.com/questions/10588644/how-can-i-see-the-entire-http-request-thats-being-sent -по-мой-питон-приложение –

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