Chcę napisać aplikację, aby skrócić adres URL. To jest mój kod:jak używać Google Shortener API z Pythonem
import urllib, urllib2
import json
def goo_shorten_url(url):
post_url = 'https://www.googleapis.com/urlshortener/v1/url'
postdata = urllib.urlencode({'longUrl':url})
headers = {'Content-Type':'application/json'}
req = urllib2.Request(
post_url,
postdata,
headers
)
ret = urllib2.urlopen(req).read()
return json.loads(ret)['id']
kiedy uruchomić kod, aby uzyskać drobny url, zgłasza wyjątek: urllib2.HTTPError: HTTP Error 400: Bad Requests
. Co jest nie tak z tym kodem?
dzięki za reply.The API urllib i urllib2 jest naprawdę ugly.actually, pisałem aplikacja z żądaniami i działa, ale dlaczego mam zastąpić urllib.urlencode json.dumps? – YuYang
ponieważ 'urlencode' przekazuje klucz: wartość oddzielona przez & i to, czego spodziewa się google API to json jak dane {klucz: wartość}. [urlencode] (http://docs.python.org/2/library/urllib.html#urllib.urlencode) – PepperoniPizza
Może powinienem uważniej przeczytać dokument api. dziękuję bardzo ... – YuYang