ここの例のコードを正確に使用しています:http ://code.google.com/apis/picasaweb/docs/1.0/developers_guide_python.html#Auth
まだサイコロはありません。
これが私が持っている正確なコードです(これはすべてWebサーバーで実行されています):
#!/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が単に無効であると私は信じるようになります。