0

プッシュ リクエスト情報を取得するために次のすべての方法を試していますが、すべて失敗しています。

@app.route('/handlepush', methods=['POST'])
def handlepush():
    """
    Handles push notifications from Foursquare
    """
    print 'handling push'
    print request

    try:
        print 'request.form:' + json.loads(request.form['checkin'],
                          parse_float=str)
    except:
        print 'request.form error'

    try:
        print 'request.data: ' + json.loads(request.data['checkin'], parse_float=str)
    except:
        print 'no request.data'

    try:
        print 'request.form' + request.form
    except:
        print 'no request.form'

    try:
        print 'request.args' + request.args
    except:
        print 'no request.args'

    if request.headers['Content-Type'] == 'text/plain':
        print'text/plain'
        return "Text Message: " + request.data

    elif request.headers['Content-Type'] == 'application/json':
        print 'application/json'
        return "JSON Message: " + json.dumps(request.json)

    try:
        print 'request.form["id"]:' + request.form['checkin']['id']
    except:
        print 'request.form error'

    try:
        print request.data['checkin']['id']
    except:
        print 'request.data error'

    try:
        print 'request.json: ' + request.json
    except:
        print 'no request.json'


    return 'hi'

これが私の応答です:

2013-01-28T00:54:31+00:00 app[web.1]: <Request 'http://my.herokuapp.com/handlepush' [POST]>
2013-01-28T00:54:31+00:00 app[web.1]: handling push
2013-01-28T00:54:31+00:00 app[web.1]: no request.args
2013-01-28T00:54:31+00:00 app[web.1]: 10.71.26.114 - - [28/Jan/2013 00:54:31] "POST /handlepush HTTP/1.1" 200 -
2013-01-28T00:54:31+00:00 app[web.1]: request.form error
2013-01-28T00:54:31+00:00 app[web.1]: no request.data
2013-01-28T00:54:31+00:00 app[web.1]: no request.form
2013-01-28T00:54:31+00:00 app[web.1]: request.data error
2013-01-28T00:54:31+00:00 app[web.1]: no request.json
2013-01-28T00:54:31+00:00 app[web.1]: request.form error

だから私はこれにアプローチする最善の方法を考えていました。私の経験では、ヘッダーが「application/json」として指定されている場合、request.json は json POST に対して機能しますが、このプッシュ データを取得する方法がわかりません。

4

1 に答える 1

1
request.form['checkin']

トリックを行い、jsonを取得しました。

于 2013-01-28T01:23:45.700 に答える