我正在使用此处示例中的代码:http ://code.google.com/apis/picasaweb/docs/1.0/developers_guide_python.html#Auth
还是没有骰子。
这是我得到的确切代码(这都是在网络服务器上运行的):
#!/usr/bin/python
import gdata.photos.service
import gdata.media
import gdata.geo
print "content-type:text/html\n"
def GetAuthSubUrl():
next = 'http://my_domain.com/foo/connect_picasa.cgi'
scope = 'http://picasaweb.google.com/data/'
secure = False
session = True
gd_client = gdata.photos.service.PhotosService()
return gd_client.GenerateAuthSubURL(next, scope, secure, session);
authSubUrl = GetAuthSubUrl();
print '<a href="%s">Login to your Google account</a>' % authSubUrl
然后在my_domain/foo/connect_picasa.cgi
我有:
#!/usr/bin/python
import gdata.photos.service
import gdata.media
import gdata.geo
import cgi
parameters = cgi.FieldStorage()
authsub_token = parameters['token']
print "content-type:text/html\n"
#debugging
print authsub_token
gd_client = gdata.photos.service.PhotosService()
gd_client.auth_token = authsub_token
gd_client.UpgradeToSessionToken()
#more debugging
print "BLINKENLICHTEN"
它正在通过以下方式进行救助gd_client.UpgradeToSessionToken()
:raise NonAuthSubToken
也许我在这里遗漏了一些明显的东西?做parameters['token']
和parameters['token'].value
[这对我来说似乎更明显]会导致同样的事情。将 authsub_token 设置为“tacos”,也会导致同样的错误,让我相信我的 authsub_token 根本无效。