Как выгрузить с сайта все категории товаров в интернет-магазине через uAPI?

голоса: 0

Добрый день!
Не нашли исчерпывающую документацию, дающую руководство по шагам каким образом использовать API. Уже полдня занимаемся танцами с бубном. А Лаборатория не работает. http://api.ucoz.net/ru/lab 


Документация не дает исчерпывающего ответа.

Очень просим помочь с этим вопросом.
Просьба прочитать как мы делали и если не верно, по шагам объяснить ошибки.

Задача выгрузить с сайта все категории товаров в интернет-магазине.
Сайт на SSL. /shop/ в настройках перебрасывает на главную страницу сайта.

1) Зарегистрировали приложение, получив

Consumer key, Consumer secret, OAuth token, OAuth token secret
2) Скачали PHP API модуль по ссылке http://api.ucoz.net/ru/manual/module 

3) Файл uAPImodule и его настройка
Файл корректируем только в одном месте
$myWebsite = 'https:/EXAMPLE.ru/'.$_SERVER['HTTP_HOST'].'/'; где example - наш сайт

4) Загружаем файл uAPImodule через FTP PHP в папку scripts

5) В uAPIwork.php вставляем наши Consumer key, Consumer secret, OAuth token, OAuth token secret и методы, описанные на странице http://api.ucoz.net/ru/manual/shop/cats 
Получаем

  <?php require 'uAPImodule.php'; $request = new Request(array( 'oauth_consumer_key' => 'Вставили', 'oauth_consumer_secret' => 'Вставили', 'oauth_token' => 'Вставили', 'oauth_token_secret' => 'Вставили' )); $response = $request->get('/shop/request', array( 'page' => 'categories' )); print_r($response); //Получаем ответ ?>

6) Загружаем через FTP PHP на сервер к предыдущему файлу.
7) Переходим по ссылке: /uapi/shop/request?page=categories 
8) Получаем ошибку {"error":{"msg":"Missing required parameter","code":"MISSING_REQUIRED_PARAMETER"}}

  Помогите пожалуйста!! Что делаем не так?
| Автор: | Категория: PHP и API на uCoz

Ответов: 1

Голоса: +1

Файл корректируем только в одном месте
$myWebsite = 'https:/EXAMPLE.ru/'.$_SERVER['HTTP_HOST'].'/'; где example - наш сайт

Вот тут как раз и ошибка. Либо оставить так: 

$myWebsite = 'https://EXAMPLE.ru/';

либо так:

 $myWebsite = 'https:// ' . $_SERVER['HTTP_HOST'] . '/';

И что это за ссылка?

7) Переходим по ссылке: /uapi/shop/request?page=categories  

 Переходить надо по ссылке https://EXAMPLE.ru/php/uAPIwork.php

| Автор:
Редактирование | | Автор: Александр Леонов
Спасибо. Оставили сейчас второй вариант. Ситуации не исправило. Что дальше необходимо сделать? Видимо где-то еще ошибки. Могли бы вы сопроводить от а до я? Может быть мы не правильно запрос отправляем?
Евгений К,

А что тут сопровождать? Закидываете файлы uAPImodule.php и uAPIwork.php на PHP сервер в папку scripts. Потом в браузере переходите по адресу https://EXAMPLE.ru/php/uAPIwork.php , где example ваш домен.

Александр Леонов,

К сожалению, все сделал как Вы написали и при открытии https://example.ru/php/uAPIwork.php получаю белую страницу без ответа сервера.

Може все-таки есть ошибки? есть сомнение в правильности данной строки в файле uAPIwork.php

 get('/shop/request', array( 'page' => 'categories' )); 
Евгений К,

В файле uAPIwork.php после $___notjson=1; вставте 

error_reporting(E_ALL); ini_set('display_errors', true);

Запустите в браузере  https://example.ru/php/uAPIwork.php

Если будет сообщение об ошибке, содержащее слово FOLLOWLOCATION, то идем в файл uAPImodule.php и удаляем строки 83, 160, 240, 263.
Строка выглядит так:

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

Александр Леонов,

После добавления error_reporting(E_ALL); ini_set('display_errors', true); действительно выдало ошибку с содержанием 

FOLLOWLOCATION

В uAPImodule.php и удалили строки 83, 160, 240, 263.

Теперь опять при переходе https://example.ru/php/uAPIwork.php получаем пустую страницу

Евгений К,
Евгений, двайте не будем гадать на кофейной гуще))) Скиньте ваши файлы. Посмотрим. Можно на яндекс диск или еще куда либо)
Александр Леонов,
Хорошо) Спасибо за то что не бросаете)  https://yadi.sk/d/tgfE2CZmVKsBHQ
...