3

当我在“Google 数据协议客户端库 ( http://code.google.com/apis/gdata/docs/auth/oauth.html )”中测试代码时,总是出现以下错误。任何人都可以给我一个提示?

错误代码:

  File "D:\PROJ\GAE\proj2\proj2.py", line 262, in get
    return self.redirect(auth_url)
  File "C:\DEV\google_appengine\v1.4.2\google\appengine\ext\webapp\__init__.py", line 380, in redirect
    absolute_url = urlparse.urljoin(self.request.uri, uri)
  File "C:\DEV\Python\v2.5.4\lib\urlparse.py", line 253, in urljoin
    urlparse(url, bscheme, allow_fragments)
  File "C:\DEV\Python\v2.5.4\lib\urlparse.py", line 154, in urlparse
    tuple = urlsplit(url, scheme, allow_fragments)
  File "C:\DEV\Python\v2.5.4\lib\urlparse.py", line 193, in urlsplit
    i = url.find(':')
AttributeError: 'Uri' object has no attribute 'find'

这是我要获取 Google 联系人信息的代码:

class Test(webapp.RequestHandler):
    def get(self):
        client = gdata.contacts.client.ContactsClient(source = 'www.mydomainname.com')
        callback_url = 'http://%s/test2' % self.request.host

        request_token = client.GetOAuthToken(['http://www.google.com/m8/feeds/'],
                                                     callback_url,
                                                     GOOGLE_KEY,
                                                     GOOGLE_SECRET)

        gdata.gauth.AeSave(request_token, 'request_token')

        auth_url = request_token.generate_authorization_url(google_apps_domain = None)
        return self.redirect(auth_url) #Error?!

提前致谢!

4

1 回答 1

3

生成的 auth_url 不是字符串。

做就是了:

return self.redirect(str(auth_url))

它会起作用。

于 2011-09-01T23:50:42.893 回答