session = vk.Session(access_token='blahblahblah') api = vk.API(session) upload_server = api.photos.getWallUploadServer() r = requests.post(upload_server['upload_url'], files={'photo': open("/home/gsv/photo.jpg","rb")}) params = {'server': r.json()['server'], 'photo': r.json()['photo'], 'hash': r.json()['hash']} wallphoto = api.photos.saveWallPhoto(**params) photoID = wallphoto[0]['id'] params = {'attachments': str(photoID), 'message': 'Тест'} api.wall.post(**params)
Показ дописів із міткою vkontakte. Показати всі дописи
Показ дописів із міткою vkontakte. Показати всі дописи
vkontakte пост на власну стіну з аплоадом фотографії на python
loginza + django-avatars + facebook + vkontakte
Авторизуємось через loginza, і якщо facebook нам віддає ім'я і аватар юзернейма, зберігаємо у моделі користувачів.
Для Вконтактє ситуація аналогічна, лише Вконтактє віддає малюнок з розширенням, а Фейсбук без.
def loginza_auth_handler(sender, user, identity, **kwargs):
try:
#loginza_models.UserMap.objects.get(user=user, verified=True)
map = loginza_models.UserMap.objects.get(user=user)
data = json.loads(map.identity.data)
if data['provider'] == "http://www.facebook.com/":
system_user = User.objects.get(username=user)
if data['name']['first_name']:
system_user.first_name = data['name']['first_name']
if data['name']['last_name']:
system_user.last_name = data['name']['last_name']
if data['photo']:
try:
Avatar.objects.get(user=system_user)
except:
(filename, headers) = urllib.urlretrieve(data['photo'])
img_name = '%s.jpg' % os.path.basename(filename)
copy_path = os.path.join(settings.MEDIA_ROOT, settings.AVATAR_STORAGE_DIR, system_user.username, img_name)
copy_dir = os.path.join(settings.MEDIA_ROOT, settings.AVATAR_STORAGE_DIR, system_user.username)
if not os.path.isdir(copy_path):
os.makedirs(copy_dir)
shutil.copy2(filename, copy_path)
path_ava = os.path.join(settings.AVATAR_STORAGE_DIR, system_user.username, img_name)
avatar = Avatar(
user = system_user,
primary = True,
avatar = path_ava,
)
avatar.save()
system_user.save()
auth.login(sender, user)
Для Вконтактє ситуація аналогічна, лише Вконтактє віддає малюнок з розширенням, а Фейсбук без.
Підписатися на:
Дописи (Atom)