0

Mixpanelのドキュメントによると、APIエンドポイントに送信する前にjson配列をbase64する必要があります

json = {"event": "e-mail opened", 
        "properties": {
        "distinct_id": "28224", 
        "token": "494f5d201963457e632d463d1d4745e4", 
        "time": int(time.time()), 
        "campaign": "gameweek 27"
            }
    }

ドキュメントによると、私はそれをそのように送る必要があります

http://api.mixpanel.com/track/?data=[BASE_64_JSON_EVENT]&ip=1&img=1

これが、dictをbase64に変換して送信するためのPythonコードです。私は得る

data = base64.b64encode(json.dumps(json)) url = 'http://api.mixpanel.com/track/?data=%d&ip=1&img=1'%data requests.get(url)

私の問題は、何も追跡しないことです。このオンラインコンバーターを使用して同じdictを変換し、手動でURLを作成すると、機能します。

それで、おそらく私のエンコーディングで機能していない何かがありますが、何ですか?

ありがとう!

4

1 に答える 1

2

質問のタイプミスかどうかはわかりませんが、代わりに:

url = 'http://api.mixpanel.com/track/?data=%d&ip=1&img=1'%data

そのはず

url = 'http://api.mixpanel.com/track/?data=%s&ip=1&img=1'%data

は文字列ではなく数値を%d期待するため、%s

于 2013-02-09T14:48:04.053 に答える