1

PythonコードでGoogleURLShortenerAPIを呼び出そうとしています。

def shorternUrl():
        API_KEY = "AIzaSyCvhcU63u5OTnUsdYaCFtDkcutNm6lIEpw"
        apiUrl = 'https://www.googleapis.com/urlshortener/v1/url'
        longUrl = "http://www.cnn.com"
        headers = {"Content-type": "application/json"}
        data = {"longUrl": longUrl}
        h = httplib2.Http('.cache')
        try:
            headers, response = h.request(apiUrl, "POST", urllib.urlencode(data), headers)
            print response

        except Exception, e:
            print "unexpected error %s" % e

しかし、私はこのエラーを受け取り続けます:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "parseError",
    "message": "Parse Error"
   }
  ],
  "code": 400,
  "message": "Parse Error"
 }
}

Python用のGoogleAPIを使用していません。どこが間違っているの?

4

1 に答える 1

5

URLエンコードされたデータではなく、POSTでJSONを送信する必要があります。

import json

# Rest of your code

headers, response = h.request(apiUrl, "POST", json.dumps(data), headers)
于 2012-06-30T22:12:05.573 に答える