Картинка с параметром "extra" и без: http://cs537313.vk.me/u233400288/docs/60393d467757/DvaPalts ... mXU7uC_vag http://cs537313.vk.me/u233400288/docs/60393d467757/DvaPaltsa.gif Вторую картинку я вижу везде, со всех браузеров, даже с тех, в которых я никогда не был залогинен вконтакте. У вас же откроется только первая. Щито? Как такое возможно?
Пытаюсь получить видео с ВК при помощи класса скаченнового с ВК, выдаёт вот такую ошибку: В чём может быть дело?!
Так всё нормально работает! При запросах к профилю, выводить любые данные на ура! Но если пытаюсь получить меди файл, то вылезает эта ошибка!
подозрева, что обращение за файлом происходит куда-то на сторону, где и отпинывает, т.е. нужно узнать как представиться тому сервису, что ты уже вошедши, а не из-за леса из-за гор.
Всем привет. Подскажите пожалуйста, как выдернуть из такого ответа все значения creator_name Код (Text): {"response": [ {"page":{ "pid":311149, "title":"Свежие новости2", "edited":"2008-11-19 13:46:45", "created":"2008-11-19 13:46:45", "group_id":683495, "editor_id":1, "editor_name": "Павел Дуров", "creator_id":1, "creator_name": "Павел Дуров", "who_can_view":2, "who_can_edit":0}}, {"page":{ "pid":311163, "title":"Свежие новости28", "edited":"2008-11-19 13:47:39", "created":"2008-11-19 13:47:39", "group_id":683495,"editor_id":1, "editor_name":"Павел Дуров", "creator_id":1, "creator_name": "Павел Дуров", "who_can_view":2, "who_can_edit":0}} ]}
VKontakte. Подписан ли человек на группу Подскажите как реализовать, у меня стоит на сайте код сообщества "Вконтакте" вот код: Код (Text): <script type="text/javascript" src="//vk.com/js/api/openapi.js?113"></script> <!-- VK Widget --> <div id="vk_groups"></div> <script type="text/javascript"> VK.Widgets.Group("vk_groups", {mode: 0, width: "672", height: "200", color1: 'FFFFFF', color2: '2B587A', color3: '5B7FA6'}, 1); </script> Подскажите как получить ответ от сервера "Вконтакте" что человек подписан или нет, допустим если человек подписан на группу ответ = 1, а если не подписан или не состоит в ней то ответ = 0, подскажите возможно такое сделать ?
Вконтакте API Привет! Использую найденный на просторах интернета замечательный класс для постинга на стену через Вконтакте API, так вот встала проблема, постятся сообщения только не более 10 предложений, но всегда по разному, иногда чуть меньше иногда чуть больше, 10 - взял среднее. Вроде бы поддержка вконтакте заявляет, что в сообщение можно запендюрить до 16000+ символов. Так вот, хочу посмотреть на возвращаемую сервером ошибку, но не знаю, как это сделать. Если поможете - буду очень благодарен! Ниже привожу класс для постинга: Код (Text): <?php class VKPublic { protected $groupId, $appId, $secretKey, $accessToken, $accessSecret; /** * @param int $groupId * @param int $appId * @param string $secretKey */ public function __construct($groupId, $appId, $secretKey) { $this->groupId = $groupId; $this->appId = $appId; $this->secretKey = $secretKey; } /** * @param string $accessToken * @param string $accessSecret */ public function setAccessData($accessToken, $accessSecret) { $this->accessToken = $accessToken; $this->accessSecret = $accessSecret; } /** * Hack */ public function getAccessData() { echo "<!doctype html><html><head><meta charset='utf-8'></head> <body><a href='https://oauth.vk.com/authorize?" . "client_id={$this->appId}&scope=offline,wall,groups,pages," . "photos,docs,audio,video,notes,stats,messages,notify,notifications,nohttps&" . "redirect_uri=https://oauth.vk.com/blank.html&response_type=code' target='_blank'>Получить CODE</a><br>Ссылка для получения токена:<br> <b>https://oauth.vk.com/access_token?client_id={$this->appId}" . "&client_secret={$this->secretKey}&code=CODE</b></body></html>"; exit; } /** * @param string $method * @param mixed $parameters * @return mixed */ public function callMethod($method, $parameters) { if (!$this->accessToken) return false; if (is_array($parameters)) $parameters = http_build_query($parameters); $queryString = "/method/$method?$parameters&access_token={$this->accessToken}"; $querySig = md5($queryString . $this->accessSecret); return json_decode(file_get_contents( "http://api.vk.com{$queryString}&sig=$querySig" )); } /** * @param string $message * @param bool $fromGroup * @param bool $signed * @return mixed */ public function wallPostMsg($message, $fromGroup = true, $signed = false) { return $this->callMethod('wall.post', array( 'owner_id' => -1 * $this->groupId, 'message' => $message, 'from_group' => $fromGroup ? 1 : 0, 'signed' => $signed ? 1 : 0, )); } /** * @param string $attachment * @param null|string $message * @param bool $fromGroup * @param bool $signed * @return mixed */ public function wallPostAttachment($attachment, $message = null, $fromGroup = true, $signed = false) { return $this->callMethod('wall.post', array( 'owner_id' => -1 * $this->groupId, 'attachment' => strval($attachment), 'message' => $message, 'from_group' => $fromGroup ? 1 : 0, 'signed' => $signed ? 1 : 0, )); } /** * @param string $file relative file path * @return mixed */ public function createPhotoAttachment($file) { $result = $this->callMethod('photos.getWallUploadServer', array( 'gid' => $this->groupId )); $ch = curl_init($result->response->upload_url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'photo' => '@' . getcwd() . '/' . $file )); if (($upload = curl_exec($ch)) === false) { throw new Exception(curl_error($ch)); } curl_close($ch); $upload = json_decode($upload); $result = $this->callMethod('photos.saveWallPhoto', array( 'server' => $upload->server, 'photo' => $upload->photo, 'hash' => $upload->hash, 'gid' => $this->groupId, )); return $result->response[0]->id; } public function combineAttachments() { $result = ''; if (func_num_args() == 0) return ''; foreach (func_get_args() as $arg) { $result .= strval($arg) . ','; } return substr($result, 0, strlen($result) - 1); } } ?> И, собственно, использование (подразумевает наличие соответственных токенов): Код (Text): require_once 'vkClass.php'; $public = new VKPublic($groupId, $appId, $secretKey); $public->setAccessData($accessToken, $accessSecret); $attachments = $public->combineAttachments( $public->createPhotoAttachment($img), $link ); $public->wallPostAttachment($attachments, $text);
Re: Вконтакте API в сообщение - да, но в переменную HTTP GET - вряд ли. Для вызова метода, класс использует функцию file_get_contents, которой передает длиннющий URL. Вместо такого URL для длинных запросов лучше использовать метод POST. Передать данные POST через file_get_contents можно с помощью stream_context_create.
Переписал CallMethod - но действовал в слепую, не особо осозовая, что делаю не фурычит) Need Help!))) Код (Text): public function callMethod($method, $parameters) { if (!$this->accessToken) return false; if (is_array($parameters)) $parameters2 = http_build_query($parameters); $queryString = "/method/$method?$parameters2&access_token={$this->accessToken}"; $querySig = md5($queryString . $this->accessSecret); $parameters['access_token'] = $this->accessToken; $parameters['sig'] = $querySig; $options = array( 'http'=>array( 'method'=>"POST", 'header'=> "Accept-language: en\r\n". "Content-type: application/x-www-form-urlencoded\r\n", 'content'=>http_build_query($parameters) )); $context = stream_context_create($options); return json_decode(fopen('http://api.vk.com/method/wall.post',false,$context)); }
=> Код (Text): file_get_contents('http://api.vk.com/method/wall.post',false,$context'); на первый взгляд, ошибок нет. бесполезный заголовок.
[vs], в любом случае спасибо! К сожалению, пока проблема актуальна. Будет время, вернусь к ней. Если разберусь, напишу!
Парсинг видео с vk Привет всем форумчани сталкивался на такую проблему при парсинге видео с vk, а как получать прямые ссылки на видео в формате Код (Text): json_decode вот код Код (Text): if ($token!="") { $resp = json_decode(file_get_contents('https://api.vk.com/method/video.search?&q='.urlencode($query).'&sort='.$sort.'&count='.$count.'&hd='.$hd.'&access_token='.$token)); } print_r ($resp); а результат такой Код (Text): stdClass Object ( [response] => Array ( [0] => stdClass Object ( [id] => 169297081 [title] => Call Of Duty: MW 3 (OST Eminem) [description] => [owner_id] => 62081877 [duration] => 91 [date] => 1406371079 [thumb] => http://cs12904.vk.me/u95224081/video/m_271d3cea.jpg [image_medium] => http://cs12904.vk.me/u95224081/video/l_c9e13f98.jpg [player] => http://vk.com/video_ext.php?oid=62081877&id=169297081&hash=b55f134872a71aa3 ) ) ) но как так то вить ссылки находиться в Код (Text): files: { mp4_240: 'http://cs12904v4....hs7rVdnMekdKhwq1n', mp4_360: 'http://cs12904v4....hs7rVdnMekdKhwq1n', mp4_480: 'http://cs12904v4....hs7rVdnMekdKhwq1n', mp4_720: 'http://cs12904v4....hs7rVdnMekdKhwq1n' }, http://stg745.rusfolder.com/preview/20140731/4/41341984_3_1215504.jpg
прямая авторизация вконтакте Привет всем форумчанам подскажите как достать токен с имени официального приложении android'a пробовал такую ссылку Код (Text): oauth.vk.com/authorize?client_id=2274003&v=5.0&scope=wall,offline&redirect_uri=http://oauth.vk.com/blank.html&display=page&response_type=token client_id=2274003 - тот самый id официального приложении android'a выдает грозный Код (Text): {"error":"invalid_access","error_description":"Security issue"} =) подскажете кто знает очень надо спасибо
Re: прямая авторизация вконтакте Я не знаю как там, вконтактах, но токен - должен генерироваться, и получить его можно только слушая трафик.
Почему не получаеться зайти на сайт vk.com через curl_init Почему не получается зайти на сайт vk.com через curl_init
Re: Почему не получаеться зайти на сайт vk.com через curl_in потому что ты чтото делаешь неправильно или вконтактику ты показался ботом)
Re: Почему не получаеться зайти на сайт vk.com через curl_in Видимо из-за их защиты, сравни заголовки которые ты отправляешь через curl и какие отправляет твой браузер. У vk есть api, используй его.
Re: Почему не получаеться зайти на сайт vk.com через curl_in Я представился экспоером старым ))))) Mozilla/5.0 заработало Добавлено спустя 9 минут 37 секунд: Re: Почему не получаеться зайти на сайт vk.com через curl_init Кто нить может помочь регуляркой для получения текста из статуса