|
|
|
| Собственно проблем с авторизацией и посылкой запросов нет, в мане все доступно объяснено - http://api.mail.ru/docs/reference/rest/
Проблема возникла при запросе stream.post - посылает текст в раздел "что нового"... Если в параметры text и другие прописать английский текст - все работает, а если по-русски - выдает ошибку: "one of the parameters is missing or invalid: 'text','user_text'"
Запросы делаю курлом:
// вот так не работает!
$fields = "method=stream.post&app_id=12313&secure=1&session_key=13231&sig=12313"&text=привет!";
// а так работает
$fields = "method=stream.post&app_id=12313&secure=1&session_key=13231&sig=12313"&text=hello!";
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
$res = curl_exec($curl);
$res=json_decode($res, true);
echo "<pre>";
var_dump($res);
echo "</pre>";
curl_close($curl);
}
|
Есть догадка, что дело в кодировках... видимо mail получает вместо русского текста кракозябры и валидация не срабатывает....
Не подскажите, как правильно курлом сделать запрос с нужными кодировкой? В принципе перепробовал разные варианты:
$header[] = "Accept-Charset: utf-8";
$header[] = "Accept-Language: en-us";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields);
|
не работает... | |
|
|
|
|
|
|
|
для: Konkere
(14.02.2012 в 08:44)
| | Не очень понятно, как у вас в одной строке
"method=stream.post&app_id=12313&secure=1&session_key=13231&sig=12313"&text=привет!";
| уживаются три двойные кавычки? | |
|
|
|
|
|
|
|
для: cheops
(14.02.2012 в 16:57)
| | это я в посте опечатался, а в коде нормально все | |
|
|
|
|
|
|
|
для: cheops
(14.02.2012 в 16:57)
| | кодировал текст iconv(), urlencode()... не помогает. писал три раза в app@corp.mail.ru - молчат | |
|
|
|
|
автор: МммммонстеКилл (16.02.2012 в 15:12) |
|
|
для: Konkere
(16.02.2012 в 12:13)
| | Приводить надо реальный код.
Приведи пример с urlencode(). Гарантированно неправильно используешь. | |
|
|
|