1

Web アプリケーションに twitter でシームレスなログインを提供しようとしています。そのためには、ユーザーがアプリケーションを承認した後、Twitter が特定の URL にリダイレクトする必要があります。

アプリケーションを承認するために、ユーザーがコピーペーストを強制されることは望ましくありません。PIN

の「Twitterでサインインを実装する」のガイドラインによると、Step 1を取得する際にrequest_tokenanoauth_callbackを指定する必要があります。しかし、そうするとrauth例外が発生します。

Traceback (most recent call last):
  File "/install_dir/web2py/gluon/restricted.py", line 212, in restricted
    exec ccode in environment
  File "/install_dir/web2py/applications/wavilon_portal/controllers/signup.py", line 213, in <module>
  File "/install_dir/web2py/gluon/globals.py", line 194, in <lambda>
    self._caller = lambda f: f()
  File "/install_dir/web2py/applications/wavilon_portal/controllers/signup.py", line 198, in oauth_signup
    authorized, authorize_url = oauth_service.check_authorization()
  File "/python_modules/oauth/service.py", line 230, in check_authorization
    authorize_url = self.get_authorize_url()
  File "/python_modules/oauth/service.py", line 195, in get_authorize_url
    return self.get_authorize_url_oauth1() if self.oauthver == OAUTH1_VER else self.get_authorize_url_oauth2()
  File "/python_modules/oauth/service.py", line 175, in get_authorize_url_oauth1
    request_token, request_token_secret = self.oauth_service.get_request_token(method="POST", oauth_callback=self.redirect_uri)
  File "/virtualenvs/python2.7.2/lib/python2.7/site-packages/rauth/service.py", line 212, in get_request_token
    r = self.get_raw_request_token(method=method, **kwargs)
  File "/virtualenvs/python2.7.2/lib/python2.7/site-packages/rauth/service.py", line 186, in get_raw_request_token
    return session.request(method, self.request_token_url, **kwargs)
  File "/virtualenvs/python2.7.2/lib/python2.7/site-packages/rauth/session.py", line 195, in request
    return super(OAuth1Session, self).request(method, url, **req_kwargs)
TypeError: request() got an unexpected keyword argument 'oauth_callback'

oauth_callbackOAuth1 にリダイレクト URI ( ) を指定するにはどうすればよいですか?

4

1 に答える 1

2

Rauth は Requests: と同じ API を維持しますtwitter.get_request_token(..., params={'oauth_callback': 'http://example.com/callback'})

于 2013-05-02T16:01:28.650 に答える