Метод photos.getById

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Аватара пользователя
tofido
Сообщения: 113
Зарегистрирован: 02 май 2012, 15:44

Метод photos.getById

Сообщение tofido »

Нужно получить url ссылки по её идентификаторам, делаю так но ничего не возвращается.

Код: Выделить всё

$m_res = file_get_contents('https://api.vk.com/method/photos.getById?photos=-37342757_298622475'); $m_resp = json_decode($m_res, true);$img = $m_resp[response][0][src_big]; 
В документации сказано
Некоторые фотографии, идентификаторы которых могут быть получены через API, закрыты приватностью, и не будут получены. В этом случае следует использовать ключ доступа фотографии (access_key) в её идентификаторе. Пример значения photos: -37342757_298622475_220df2876123d3542f,
Вобщем то у меня такой вопрос, как получить access_key и вместе с ним совершить запрос?
Casperovskii
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50

Re: Метод photos.getById

Сообщение Casperovskii »

tofido
Поле access_key будет возвращено вместе с остальными данными фотографии в методах, которые возвращают фотографии, закрытые приватностью но доступные в данном контексте. Например данное поле имеют фотографии, возвращаемые методом newsfeed.get.
То есть сначала нужно выполнить другой метод, связанный с получением данной фотографии, который вернет access_key.
Аватара пользователя
tofido
Сообщения: 113
Зарегистрирован: 02 май 2012, 15:44

Re: Метод photos.getById

Сообщение tofido »

Что я делаю не правильно?

Код: Выделить всё

<?php$m_res = file_get_contents('https://oauth.vk.com/access_token?client_id=3635188&client_secret=6QdFNd546455464561ZAm&grant_type=client_credentials');$m_resp = json_decode($m_res, true);$token = $m_resp[access_token];  $m_res2 = file_get_contents('https://api.vk.com/method/photos.getById?photos=-37342757_298622475_'.$token);$m_resp2 = json_decode($m_res2, true);$img = $m_resp2[response][0][src_big]; echo $img;?>
Casperovskii
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50

Re: Метод photos.getById

Сообщение Casperovskii »

tofido
Ты не получаешь свой access_key нигде.
Метод photos.getById. А тебе надо перед этим узнать не access_token, а access_key. Что делается другими методами. Пример метода, возвращающего access_key есть в документации к методу photos.getById.
Пример ответа метода, который возвращает фото с полем access_key:
//часть пропущена
attachment: {
type: 'photo',
photo: {
pid: 301357395,
aid: -7,
owner_id: -125448,
user_id: 100,
src: 'http://cs405529.vk.me/v405529576/6dc5/aNZ1MGZrZa0.jpg',
src_big: 'http://cs405529.vk.me/v405529576/6dc6/azaJNv7LLmA.jpg',
src_small: 'http://cs405529.vk.me/v405529576/6dc4/abwEiQ0D4Og.jpg',
width: 556,
height: 313,
text: '',
created: 1365057237,
access_key: '220df2876123d3542f'
}
}
Аватара пользователя
lmvt
Сообщения: 6
Зарегистрирован: 30 янв 2015, 18:59

Re: Метод photos.getById

Сообщение lmvt »

Код: Выделить всё

<?php$m_res = file_get_contents('https://oauth.vk.com/access_token?client_id=7878787&client_secret=6QdFNdGkAp0GUD001ZAm&grant_type=client_credentials');$m_resp = json_decode($m_res, true);$token = $m_resp[access_token];  echo 'https://api.vk.com/method/photos.getById?photos=-37342757_298622475_'.$token; $m_res2 = file_get_contents('https://api.vk.com/method/photos.getById?photos=-37342757_298622475_'.$token);$m_resp2 = json_decode($m_res2, true);$img = $m_resp2[response][0][src_big]; echo $img;?>
Ответить