Доброе утро.
Нужно запостить картинку на стену vk от имени юзера который залогинился на сайте.
Пробовал получить его токен так.
views.py
social_accounts = SocialAccount.objects.filter(provider='vk')
for social_account in social_accounts:
socialtokens = SocialToken.objects.filter(id=social_account.id)
Но мне выдает токен не того кто залогинился на сайте, а первого зарегенного через соцсеть и плюс выдает этот токен в пользование даже тем кто не авторизован.
С неавторизованными вроде разобрался. Наверно не правильно, но они уже не могут выполнить заветное действие.
if request.user.is_authenticated:
return render(request, 'parsing/Page1.html', {'values': ['Hello']})
else:
return render(request, 'parsing/Page2.html', {'values': ['не Hello']})
А вот получить токен юзера с которого открыта сессия не получается.
Подскажите, где можно найти решение? в документации на офф сайте такого не нашел. По форумам тоже ничего похожего не нагуглил.
Python3.6 Django2.0
Ответ
Ну как мне кажется, сначала вам нужно найти нужный аккаунт для пользователя с сессии. Затем если данный аккаунт существует, искать по этому аккаунту уже его токен.
social_account = SocialAccount.objects.filter(provider='vk',
user=request.user.pk)
socialtoken = SocialToken.objects.filter(account=social_account.pk)
Так должно сработать
social_account = SocialAccount.objects.get(provider='vk', user=request.user.pk)
social_token = SocialToken.objects.get(account=social_account)
Комментариев нет:
Отправить комментарий