я работаю на Pushbullet проекта Python простой командной строки, и имеют следующий код:400 (Bad Request) ошибка при использовании Pushbullet эфемеры
from settings import *
import urllib
import urllib2
def pushSms(number, message):
url = 'https://api.pushbullet.com/v2/ephemerals'
values = {
"type": "push",
"push": {
"type": "messaging_extension_reply",
"package_name": "com.pushbullet.android",
"source_user_iden": settings["PUSHBULLET_USER_IDEN"],
"target_device_iden": settings["PUSHBULLET_SMS_IDEN"],
"conversation_iden": number,
"message": message
}
}
headers = {"Authorization" : "Bearer " + settings["PUSHBULLET_API_KEY"]}
data = urllib.urlencode(values)
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)
return response
Пример использования может быть pushSms("555 555 5555", "Hi there!")
.
Это позволяет использовать доступ к SMS-сообщениям для приложения Android в Pushbullet, как описано в документе here. Я проверил свои переменные settings
и все они действительны (на самом деле они в настоящее время используются в версии JavaScript почти такого точного кода в another project of mine.
Мое подозрение, что это базовый синтаксис Python/urllib2 неправильное использование или ошибка, но я долго смотрел/Googling и не видел свою ошибку. Мысли?
Подтверждено, что добавление заголовка содержимого разрешало эту проблему. Для этого использование библиотеки 'запросов' оказалось намного проще, чем urllib ... – j6m8