Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.12.2010, 17:14
SeaQuest вне форума Посмотреть профиль Отправить личное сообщение для SeaQuest Найти все сообщения от SeaQuest
  № 1  
Ответить с цитированием
SeaQuest
 
Аватар для SeaQuest

Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
По умолчанию Одноклассниковское stream.publish

Ошибка при подтверждении запроса о добавлении записи на стену. Ну то есть при собственно вызове stream.publish со свежеполученной ресигнатурой. Приходящая ошибка говорит, что неверная sig(сигнатура)
Этот метод требует 2 сигнатуры: sig и resig. С resig все понятно, а sig -пересчитывать заново, или использовать тот же, когда запрашивали ForticomAPI.showConfirmation ?

Старый 07.12.2010, 23:06
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 2  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
sig пересчитывать не надо

Старый 13.12.2010, 14:29
SeaQuest вне форума Посмотреть профиль Отправить личное сообщение для SeaQuest Найти все сообщения от SeaQuest
  № 3  
Ответить с цитированием
SeaQuest
 
Аватар для SeaQuest

Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
Ок, это выяснил. Правда все равно не работает (. Sig неверный и все.

Старый 13.12.2010, 14:51
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Как высчитываете сиг?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 13.12.2010, 20:15
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 5  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Код AS3:
package ru.terbooter.social_api.ok {
	...
 
	/**
	 *  Вспомогательная команда, для отсылки
	 * запросов на сервер ОК с resig
	 * @author terbooter.ru
	 */
	public class OKResigRequestCommand{
 
		private var flashVars:Object;
		private var requestParams:Object;
 
		public function OKResigRequestCommand(flashVars:Object) {
			this.flashVars = flashVars;
		}
 
		/**
		 * Отдадим sig запроса и запомним параметры,
		 * чтобы не передавать их при вызове метода publish
		 * @param	params
		 * @return
		 */
		public function getSig(params:Object):String {
 
			//Переданные параметры могут быть не полными
			//поэтому подготовим параметры
			this.requestParams = this.prepareRequestParams(params);
 
			//теперь сгенерим sig
			var sig:String = this._generate_signature(this.requestParams);
			this.requestParams.sig = sig;
 
			return sig;
		}
 
		/**
		 * Вторая фаза публикации на стену.
		 * Поднимая JS окошко с подтверждением 
		 * добавления картинки, получили resig
		 * Теперь отправим запрос на сервер ОК
		 * используя этот resig
		 * 
		 * @param	resig
		 */
		public function sendRequest(resig:String):void {
 
			...
 
		}
 
 
		/**
		 * Подготовим параметры для запроса.
		 * Заполним недостающие из флэшваров.
		 * лишние уберем. Подробнее в доке ОК
		 * 
		 * @param	requestParams
		 * @return
		 */
		private function prepareRequestParams(params:Object):Object {
 
			...
 
			return requestParams;
 
		}
 
		private function prepareRequest(params:Object):URLRequest {
 
			...
 
			return request;
		}
 
		/**
		 * Generates signature
		 *
		 */
		private function _generate_signature(request_params:Object): String {
			var signature:String = "";
			var sorted_array: Array = new Array();
			for (var key:Object in request_params) {
				sorted_array.push(key + "=" + request_params[key]);
			}
			sorted_array.sort();
 
			// Note: make sure that the signature parameter is not already included in
			//       request_params array.
			for (key in sorted_array) {
				signature += sorted_array[key];
			}
 
			if (request_params.session_key == null) {
				//signature = signature + this.secret;
			}else {
				signature = signature + this.flashVars.session_secret_key;
			}
 
			trace("SIG STRING:",signature);
			return MD5.encrypt(signature);
		}
 
 
		...
 
	}
 
}
Добавлено через 1 минуту
Мне немножко стыдно
Но функция генерирующая сиг взята без изменений с примера приложения в ВК еще 2 года назад.
С тех пора она даже не изменялась

Старый 14.12.2010, 01:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от terbooter Посмотреть сообщение
Мне немножко стыдно
Это хорошо

Старый 14.12.2010, 12:06
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 7  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Я имел ввиду саму строку для генерации сига :о)
Другие методы работают отлично? Я тестил сиг на простых методах, ОК при такой ошибке выдает строку, из которой они ждут сиг. Подкорректировал ошибки и паблиш.стрим вообще на ура прошел.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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