Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   api vkontakte - сторонний сервер (http://www.flasher.ru/forum/showthread.php?t=127864)

Spazm 24.07.2009 19:13

api vkontakte - сторонний сервер
 
Здравствуйте.Если я правильно понимаю - то можно выстроить три типа связи:
1) Клиент(флеш)<->"http://api.vkontakte.ru/api.php",
2)"Сторонний сервак"<->"http://api.vkontakte.ru/api.php" и
3)Клиент(флеш)<->Сторонний сервак.
По поводу первой связи я вроде бы худобедно разобрался. На форумах помогли, да сам в примерах покапался.
По поводу третьей связи - тоже вроде проблем не возникло. Например я могу из флешки послать sig на свой сервер, проверить наличие такого sig в базе и отправить обратно флешу его авторизованность.
А вот по поводу второй связи я вроде понимаю что должно работать, но как это бывает обычно - не работает.Это видимо закон какой-то есть всемирный..."Незнание", что ли или "невезение"))) Ладно, к сути.
Флешь обращается к файлу xxx.php на моем сервере(локальном - может в этом проблема?).
А этот xxx обращается к http://api.vkontakte.ru/api.php
Код файла:
Код:

...
...
...
$unixtime=strtotime('now');
$random=rand(0,100000000);

$api_id="697975";
$method="secure.getBalance";
$api_secret="xxx";
$v="2.0";

$str="api_id=".$api_id."method=".$method."random=".$random."timestamp=".$unixtime."v=".$v.$api_secret;
$sig=md5($str);

$zapros="http://api.vkontakte.ru/api.php?api_id=".$api_id."&v=".$v."&method=".$method."&timestamp=".$unixtime."&random=".$random."&uid=5902099&sig=".$sig;

$ppp=file_get_contents($zapros);
echo $ppp;

Выдает "4 Incorrect signature api_id 697975 v 2.0 method secure.getBalance timestamp 1248444138 random 99151612 uid 5902099 sig сига"(((
...

Добавлено через 2 часа 20 минут
Разобрался - тема закрыта.

Anton Riot 30.07.2009 13:42

э, стоп, тема не закрыта, тема таки открыта! У меня та же проблема, пытаюсь выстроить цепь клиент-сервер-контакт-сервер-клиент, не выходит..
клиент-сервер всё норм, сервер-сервер всё норм (т.е. я для проверки делал цепь запроса клиент-сервер-эмуляция контакта файлом на том же своём сервере-сервер-клиент, она работала, а вот с контактом - ноль. Ответа не приходит вообще, странно..
Вот код php на сервере:
PHP код:

<?php
    $secretKey 
'ключ секретне';
    
    
$querySubString=$_SERVER['QUERY_STRING'];
    
$lastSignature $_GET['sig'];
    
$signature $lastSignature.$secretKey;
    
$signature 'sig='.md5($signature);
    
    
$queryString preg_replace('/sig=[0-9A-Za-z%]*/'$signature$querySubString);
    
    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL'http://api.vkontakte.ru/api.php'); 
    
curl_setopt($chCUROPT_POST1);
    
curl_setopt($chCURLOPT_POSTFIELDS$queryString);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
    
$answer curl_exec($ch);
    echo 
$answer;
    
curl_close($ch);
?>



Часовой пояс GMT +4, время: 22:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.