Desidero scrivere un'app per abbreviare l'URL. Questo è il mio codice:come utilizzare l'API Shortener di Google con Python
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']
quando si esegue il codice per ottenere un URL molto piccolo, viene generata un'eccezione: urllib2.HTTPError: HTTP Error 400: Bad Requests
. Cosa c'è di sbagliato con questo codice?
grazie per il vostro reply.The API di urllib e urllib2 è davvero ugly.actually, ho scritto il app con richieste e funziona anche, ma perché dovrei sostituire urllib.urlencode con json.dumps? – YuYang
perché 'urlencode' passa chiave: valore separato da & e che cosa si aspetta l'API di google è un json come data {chiave: valore}. [urlencode] (http://docs.python.org/2/library/urllib.html#urllib.urlencode) – PepperoniPizza
forse dovrei leggere il documento API più attentamente. Grazie mille .... – YuYang