6

django-social-auth から取得した OAuth トークンを使用して、ユーザーのカレンダーにアクセスしようとしています。

だから私が設定したdjango-social-auth構成で:

GOOGLE_CONSUMER_KEY = 'anonymous'
GOOGLE_CONSUMER_SECRET = 'anonymous'
GOOGLE_OAUTH_EXTRA_SCOPE = ['https://www.google.com/calendar/feeds/']

ユーザーが Google から戻ってくると、データベースに次のようなエントリが表示されます。

{u'access_token': u'oauth_token_secret=vvvv&oauth_token=xxxx'}

しかし今、私がこのようなことをしようとすると:

import gdata.calendar.client

client = gdata.calendar.client.CalendarClient()
client.auth_token = gdata.gauth.OAuthHmacToken('anonymous', 'anonymous', 'xxxx', 'vvvv', gdata.gauth.ACCESS_TOKEN)

client.GetOwnCalendarsFeed()

私はいつも得る:

gdata.client.Unauthorized: Unauthorized - Server responded with: 401
<HEAD>
<TITLE>Token invalid - Invalid AuthSub token.</TITLE>
</HEAD>

ここで何が欠けていますか?

4

2 に答える 2

3

これは私のために働く:

from social_auth.models import UserSocialAuth

def do_something_with_tokens(request):
  tokens = UserSocialAuth.get_social_auth_for_user(request.user).get().tokens
  ...
于 2012-10-06T18:35:57.270 に答える
0

ハレルヤ!Django-social-auth は、スラッシュ (%2F) をエスケープしたアクセス トークンを返します。それを「/」に置き換えるとうまくいきました。

HTH

于 2012-01-20T03:11:25.217 に答える