Ошибка Unsupported signature method при POST запросе

голоса: 0

Приветствую.

Посылаю post запрос на board через сторонний сайт, но выходит такая ошибка:

{"error":{"msg":"Unsupported signature method","code":"UNSUPPORTED_SIGNATURE_METHOD"}}

На странице кодов ошибок ее не нашел.

Вот сам код запроса:

require_once 'uAPImodule.php';

function site_share($i, $url, $title) {

        $data_full  = file_get_html($url); // получаем полную новость
        $img_full   = $data_full->find('#article-theme-image img',0)->src;
        $text_full  = $data_full->find('#authorsReview > div',0)->plaintext;

        $parametrs = array(

            'oauth_consumer_key' => $consumer_key,
            'oauth_nonce' => $oauth_nonce,
            'oauth_signature_method' => $sig_method,
            'oauth_timestamp' => $timestamp,
            'oauth_token' => $oauth_token,
            'oauth_version' => $oauth_version,

            'category' => '1',
            'title' => $title,
            'description' => 'Краткое описание материала',
            'message' => $text_full,
            'other2' => 'test text'
        );

        ksort($parametrs);
        echo uAPIModule('/board', 'post', $parametrs, '');
    }

В чем может быть проблема. Спасибо.

Адрес сайта http://divisionlife.ru/
| Автор: | Категория: PHP и API на uCoz
uapimodule.php используете для стороннего сервера или для php ucoz?
Александр Леонов,
для стороннего сервера

Ответов: 1

Голоса: +1
 
Лучший ответ

Тогда значит проблема в том, что внутри функции не видно переменных $consumer_key, $oauth_nonce и т.д. Можно сделать их глобальными. Самой первой строчкой в функции пропишите

global $consumer_key, $oauth_nonce, $sig_method, $timestamp, $oauth_token, $oauth_version;

P.S. Не по теме. Почему-то вспомнился сразу анекдот: привлекались ли ранее за хранение данных в глобальных переменных? )))

| Автор:
Выбор ответа лучшим | | Автор: lifee

Прописал.

Но теперь выходит следующая ошибка:

{"error":{"msg":"Доступ запрещен"}}

 

lifee,
Ну так это уже разбирайтесь с правами юзера, которому можно добавлять материалы. Токены прописывали для администраторского аккаунта?
Александр Леонов,

Да. В файле uAPImodule.php все поля заполнил как сказано в этом мануале.

lifee,
Я не об этом. Пользователь, от имени которого добавляется материал должен быть в группе администраторов. Вы когда получали токены авторизовывались под каким пользователем? Вот этот же пользователь должен быть на сайте в админах.
Александр Леонов,
Да, у меня на всё один аккаунт uID.
lifee,
Включили uapi в модуле board? Проблема явна локальная. На вашей стороне. Смотрите права пользователя на добавление. Попробуйте для начала простые запросы, без переменных. Попробуйте так же получить данные, а не отправить. В общем разные варианты с запросами проверните - так будет легче локализовать ошибку
lifee,
Авторизировался на сайте uID - всё заработало. Немного конечно странно, ведь на своем сайте я был авторизилован.

В общем спасибо.
...