vk api- фото на стену группы. - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Wed, 01 Jan 2025 03:40:27 +0300 Класс vkapi- скачан с vk.com и подогнан под фреймворк, ничего не изменялось.<br> <pre class="prettyprint"> &lt;?php namespace Model; class Vkapi extends \Model { var $api_secret; var $app_id; var $api_url; function __construct($app_id, $api_secret, $api_url = &#039;api.vk.com/api.php&#039;) { $this-&gt;app_id = $app_id; $this-&gt;api_secret = $api_secret; if (!strstr($api_url, &#039;http&#58;//&#039;)) $api_url = &#039;http&#58;//&#039;.$api_url; $this-&gt;api_url = $api_url; } function api($method,$params=false) { if (!$params) $params = array(); $params&#91;&#039;api_id&#039;] = $this-&gt;app_id; $params&#91;&#039;v&#039;] = &#039;3.0&#039;; $params&#91;&#039;method&#039;] = $method; $params&#91;&#039;timestamp&#039;] = time(); $params&#91;&#039;format&#039;] = &#039;json&#039;; $params&#91;&#039;random&#039;] = rand(0,10000); ksort($params); $sig = &#039;&#039;; foreach($params as $k=&gt;$v) { $sig .= $k.&#039;=&#039;.$v; } $sig .= $this-&gt;api_secret; $params&#91;&#039;sig&#039;] = md5($sig); $query = $this-&gt;api_url.&#039;?&#039;.$this-&gt;params($params); $res = file_get_contents($query); return json_decode($res, true); } function params($params) { $pice = array(); foreach($params as $k=&gt;$v) { $pice&#91;] = $k.&#039;=&#039;.urlencode($v); } return implode(&#039;&amp;&#039;,$pice); } } ?&gt;</pre> <br> Ответ:Array ( [error] =&gt; Array ( [error_code] =&gt; 4 [error_msg] =&gt; Incorrect signature: Session can be expired, revoked by user or connected with different IP address [request_params] =&gt; Array ( [0] =&gt; Array ( [key] =&gt; api_id [value] =&gt; 3300219 ) [1] =&gt; Array ( [key] =&gt; format [value] =&gt; json ) [2] =&gt; Array ( [key] =&gt; gid [value] =&gt; 48852036 ) [3] =&gt; Array ( [key] =&gt; method [value] =&gt; photos.getWallUploadServer ) [4] =&gt; Array ( [key] =&gt; random [value] =&gt; 5328 ) [5] =&gt; Array ( [key] =&gt; timestamp [value] =&gt; 1362576280 ) [6] =&gt; Array ( [key] =&gt; v [value] =&gt; 3.0 ) [7] =&gt; Array ( [key] =&gt; sig [value] =&gt; e7b98d0fba8d9bc023ba1964054a3f77 ) ) ) ) https://visavi.net/topics/37008/625026 vk api- фото на стену группы. Андрей Wed, 06 Mar 2013 17:46:42 +0400 Сообщения https://visavi.net/topics/37008/625026 Есть группа вк, на неё нужно опубликовать фото скриптом, но выходит ошибка 4- Incorrect signature: Session can be expired, revoked by user or connected with different IP address. Чтение со стены происходит отлично, а вот это вызывает ошибку.<br> <pre class="prettyprint">&lt;?php function post_on_wall($user_id=false,$group_id=false,$post=array()) /* массив $post может содержать индексы&#58; text- текст поста. photo_src- имя фотографии из папки /www/assets/files/imgs/, которая будет опублекована в посте. */ { $Conf= new Conf; $vk_config=$Conf-&gt;vk(); $Vkapi = new Vkapi($vk_config&#91;&#039;api_id&#039;], $vk_config&#91;&#039;secret_key&#039;]); if(isset($post&#91;&#039;photo_src&#039;])){ //Получаем URL для отправки POST запроса с фотографией. if($user_id!=false){ $data = $Vkapi-&gt;api(&#039;photos.getWallUploadServer&#039;, array(&#039;uid&#039;=&gt;$user_id)); }else{ $data = $Vkapi-&gt;api(&#039;photos.getWallUploadServer&#039;, array(&#039;gid&#039;=&gt;$group_id)); } if(!isset($data&#91;&#039;response&#039;]&#91;&#039;upload_url&#039;])){ $this-&gt;last_error=&#039;Сервер vk.com не вернул URL для загрузки фотографии!&#039;; //return false; } print_r($data); //echo $data&#91;&#039;response&#039;]&#91;&#039;upload_url&#039;]; exit; } }?&gt;</pre> https://visavi.net/topics/37008/625025 vk api- фото на стену группы. Андрей Wed, 06 Mar 2013 17:45:17 +0400 Сообщения https://visavi.net/topics/37008/625025