我正在使用一个简单的命令行Pushbullet Python项目,并拥有以下代码:
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!")
。
这利用了Pushbullet安卓应用程序访问SMS,如文档here所述。我已经检查了我的settings
个变量,并且它们全部有效(事实上,它们目前正在使用another project of mine中几乎完全相同代码的JavaScript版本中使用。< / p>
我怀疑这是一个基本的Python语法/ urllib2误用或错误,但我已经盯着/谷歌搜索了几个小时而且看不到我的错误。想法?
答案 0 :(得分:1)
我无法确定(来自服务器的响应可能包含更多信息),但由于我们接受表单编码和json请求,您可能需要设置标题&#34; Content-Type:应用/ JSON&#34;在请求上。
如果情况并非如此,您是否可以发布400响应的正文?