0

私は単純なコマンドライン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!").

ここに記載されているように、これは SMS への Pushbullet Android アプリ アクセスを利用します。私は自分の変数をチェックしましたが、それらはすべて有効です (実際、それらは現在、私の別のプロジェクトのsettingsほぼ同じコードの JavaScript バージョンで使用されています。

私の疑いでは、これは基本的な Python 構文/urllib2 の誤用またはエラーですが、何時間もじっと見つめたり、グーグルで検索したりしても、エラーが表示されません。考え?

4

1 に答える 1

1

確かなことはわかりませんが (サーバーからの応答に詳細な情報が含まれている可能性があります)、フォーム エンコードされたリクエストと json リクエストの両方を受け入れるため、おそらくリクエストにヘッダー "Content-Type: application/json" を設定する必要があります。

そうでない場合は、400 応答の本文を投稿していただけますか?

于 2015-06-20T17:24:12.153 に答える