Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   проблема с голосами (http://www.flasher.ru/forum/showthread.php?t=142477)

noovichek 22.07.2010 09:30

проблема с голосами
 
Здравствуйте.
Есть приложение и есть кнопочка "поблагодарить разработчиков" - суть кнопки перечислить 1 голос в счёт приложения. Нашёл кое какие исходники передал под себя :
Код AS3:

 
package {
import flash.net.*;
import flash.display.*;
import flash.events.*;
import flash.system.Security;
public class Main extends Sprite {
 
private var MyLoader:URLLoader=new URLLoader  ;
 
function onAddedToStage(e: Event):void {
Security.allowDomain("*");
stage.dispatchEvent(new Event(Event.DEACTIVATE));
stage.dispatchEvent(new Event(Event.ACTIVATE));
PayBtn.addEventListener(MouseEvent.CLICK,PayVote);
}
 
public function PayVote(e: MouseEvent):void {
wrapper.external.showPaymentBox(1);
wrapper.addEventListener("onBalanceChanged", onBalanceChanged);
}
 
function onBalanceChanged(e: Object): void {
var wrapper:Object=Object(parent.parent);
var request:URLRequest=new URLRequest("Путь к PHP скрипту на сервере");
request.method=URLRequestMethod.POST;
var vars:URLVariables=new URLVariables  ;
vars['UserID']=wrapper.application.parameters.viewer_id;
vars['auth_key']=wrapper.application.parameters.auth_key;
request.data=vars;
MyLoader.load(request);
MyLoader.addEventListener(Event.COMPLETE,onComplete);
}
 
public function onComplete(event:Event):void {
}
}
}

на серваке PHP:
PHP код:

  <?php

require('VkApi.class.php');
 
$app_id 'ID приложения';
$api_secret 'Защищенный ключ';
 
$UserID $_POST['UserID']; 
$auth_key $_POST['auth_key'];
$app_id 'ID приложения';
$api_secret 'Защищенный ключ';
 
$real_key md5($app_id."_".$UserID."_".$api_secret);
 
if (
$auth_key == $real_key){
 
function 
get_url($query) {
$ch curl_init();
curl_setopt($chCURLOPT_URL$query);
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_TIMEOUT10);
return 
curl_exec($ch);
curl_close($ch);
}
$api = new VkApiNode($app_id$api_secret);
$query $api->getBalance($UserID);
$user_balance = new SimpleXMLElement(get_url($query));
 
if (
$user_balance->balance >=100) {
get_url($query $api->withdrawVotes($UserID100));
}
}
?>

И всё работает, всё пашет, голос передаётся, НО он передаётся со счёта пользователя в контакте на счёт пользователя в контакте в приложении. Пользователь захочет покладёт, захочет снимет. А как сделать что бы голос сразу передавался на счёт приложения и зачислялся в общуюю копилку на вкладке "Платежи"
Как работать с этим гадом secure.withdrawVotes ? Что и где нужно прописать и поменять.
Буду очень признателен за подсказки!

etc 22.07.2010 10:06

С чего вы решили, что пользователь может вернуть голос обратно?

noovichek 22.07.2010 11:34

ну я пробовал от фейкового аккаунта. Голос зачисляется на счёт пользователя в этом приложении. А когда пользователь жмёт кнопку "настроить приложение" там 2 графы, пополнить на N голосов и уменьшить на N голосов. при на жатии кнокуи что описана в коде 1 голос перечисляется на счёт пользователя в этом приложении и отображается в окне "настроить приложение" от туда его и можно вернуть обратно.

etc 22.07.2010 11:37

Пополнение пользователем счета в приложении ещё не означает передачу голосов в приложение. А вот вызов withdrawVotes списывает со счета пользователя приложения в счет самого приложения, откуда уже можно вывести голоса. После withdrawVotes пользователь не может вернуть свои голоса.

noovichek 22.07.2010 11:44

именно) так вот есть ли у Вас код, пример, урок, работы с этим методом.
Или его просто вместо showPaymentBox вставлять? Тогда что прописывать в PHP?

etc 22.07.2010 11:49

Нет у меня никаких кодов.

Документация по методам API расположена здесь:
http://vkontakte.ru/club1

По PHP здесь:
http://www.php.net/manual/en/

По ActionScript:
http://help.adobe.com/en_US/flash/cs/using/index.html

Так что вперед, грызть гранит науки.


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

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