Spring social vk (Вконтакте): Как получить фотоальбомы пользователя
Я пытаюсь интегрировать некоторые весенние социальные проекты в свой проект, и сейчас я ищу способ, как получить фотоальбомы пользователей от ВК / Вконтакте. Получение данных фотографии профиля не проблема, так как я могу получить их с помощью класса VKontakteProfile. Поскольку API https://vk.com/pages?oid=-17680044&p=getProfiles предлагает такую функцию, я искал метод API, но не смог найти...
2 ответа
Чтобы получить пользовательские альбомы, у вас должен быть access_token, потому что обычно большинство пользователей скрывают свои альбомы от неавторизованных людей. Вы можете получить это, сделав OAuth-авторизацию с приложением, созданным вами ИЛИ по этой ссылке:
https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=YOUT_ACCOUNTS_LOGIN&password=YOUR_ACCOUNT_PASSWORD
Эта ссылка используется официальным приложением vk android для "прямой" авторизации. Прямая авторизация разрешена только для официальных приложений, таких как iOS, Android и Windows Phone. Так client_id
а также client_secret
это данные из Android-приложения. Он был извлечен из декомпилированного приложения. Не бойся: оно никогда не изменится.
Итак, вы сделали этот запрос GET и получили access_token
в ответ, если данные для входа верны.
Тогда вы должны использовать метод photos.getAlbums
как это:
https://api.vk.com/method/photos.getAlbums.xml?owner_id=YOUR_PAGE_ID&access_token=YOUR_ACCESS_TOKEN
Как видите, URL содержит ".xml
Msgstr "Так что если вы хотите, чтобы в ответе был формат JSON, просто удалите".xml
"из этого URL. Но я думаю, что xml удобнее разбирать.
Далее, если вам нужно получить фотоальбом позже, используйте метод photos.get. Чтобы использовать его, вам нужны идентификационные номера альбомов. В ответ на ваш последний запрос этот параметр называется "помощь".
Вы можете использовать регулярные выражения, чтобы получить эти параметры из ответа, выражение должно быть <aid>(.*?)<\/aid>
Итак, затем вы делаете запрос на получение данных из определенного альбома:
https://api.vk.com/method/photos.get.xml?owner_id=YOUR_ACCOUNT_ID&album_id=PARSED_ALBUM_ID&access_token=YOUT_ACCESS_TOKEN
Та же ситуация с форматом ответа "xml". Таким образом, вы увидите список объектов "фотография", который содержит все данные об этом изображении, такие как его идентификатор в альбоме, его ссылки на изображения (с различными размерами), его ширина, высота, описание, дата загрузки и другие.
Не стесняйтесь, чтобы получить любую помощь о VK API от меня.
Список всех методов API есть здесь: https://vk.com/dev/methods
Насколько я знаю, VK предоставляет API для получения пользовательских альбомов.
photos.getAlbums
Метод API обозначает эту функцию.
Например,
https://api.vk.com/method/photos.getAlbums/?owner_id=5369654&access_token=your_access_token
Меня устраивает. Об этом подробнее здесь:
https://vk.com/dev.php?method=methods