1

返信機能を実装しようとしています: https://developer.foursquare.com/docs/checkins/reply

以下のコードを実行すると、「HTTP エラー 400: Bad Request」が表示されます。checkinId と oauth トークンが有効であることを確認しました。(foursquare のテスト コンソールによってサーバーに送信された「チェックイン」データ構造から値を抽出したところです)。

checkinId="508XXXXXXXXXXXXXXXXXXX"
oauth="123456789877655ADGHJETJNKK"
data = {"CHECKIN_ID":checkinId,
        "text":"Hello World!",
        "url":"https://ourwebsite.com",
        "contentId":"12345",
   }

postUrl = "https://api.foursquare.com/v2/checkins/"+str(checkinId)+"/reply?oauth_token="+oauth

data = urllib.urlencode(data)
req = urllib2.Request(url=postUrl,data=data)
resp = urllib2.urlopen(req)
print resp.read()

どんな提案でも大歓迎です!

4

2 に答える 2

0

そのエラーが発生していました。

私の問題の修正は、次のようなHTTPヘッダーコンテンツタイプを含めることでした。Content-Type: application/x-www-form-urlencoded

その後、次のような通常の投稿データを使用しました。

text = "t"&url = xxx&v = 20130224

バージョンとURLを引用できず、URLをHTMLエンコードする必要があることに気づきました。

于 2013-02-24T14:58:26.213 に答える
0

URL に直接ではなく、データ ディクショナリに oauth_token を含めてみてください。また、CHECKIN_ID を削除してみてください。それでも問題が解決しない場合は、oauth_token を添えて api@foursquare.com に電子メールを送信し、その方法で問題を診断できるかどうかを確認してください。

于 2012-10-26T20:27:21.673 に答える