Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rabotaru/oauth-client

Тестовый клиент для доступа к API через OAuth
https://github.com/rabotaru/oauth-client

Last synced: about 14 hours ago
JSON representation

Тестовый клиент для доступа к API через OAuth

Awesome Lists containing this project

README

        

# Api Client

Библиотека предоставляющая интерфейс для доступа к API [rabota.ru](http://www.rabota.ru/).
Подробней об использовании API и доступных методах читайте в [документации](https://dev.rabota.ru/doc.html).

[BSD Zero Clause License](https://spdx.org/licenses/0BSD.html)

## Установка

Для установки используйте composer:

```
composer require rabotaru/oauth-client
```

## Использование
После установки клиента вы можете сразу использовать его для получения данных с апи.

1. Клонируйте репозиторий в любую папку.
2. В настройках веб сервера создайте новый хост со ссылкой на папку с клиентом.
3. Отредактируйте файл config.php. Укажите там слеующие параметры:
app_id - уникальный иентификатор приложения
secret - секретный код приложения
api.url - роут, на который будет отправлен запрос
api.params - параметры запроса.
4. Откройте в браузере файл index.php.

## Описание методов
Для доступа к методам API используется механизм авторизации основанный на протокле OAuth2.0.

Подробнее читайте [здесь](https://dev.rabota.ru/doc.html).

Предусмотрена следующая последовательность предоставления доступа:

1. Запрос приложения на получения разрешения на авторизацию. Получение кода
2. Получение авторизационного токена при помощи кода.
3. Передача токена через http-заголовок при отпраке запроса к API

Для отправки запросов и авторизации используйте экземпляр класса RabotaApi/Client

При создании клиента в конструктор перадаются параметры:
$appId - уникальный идентификатор приложении, полученный при регистрации приложения на сайте.
$secret - секрет код, полученный при регистрации приложений.
$token - авторизационный токен (если токен уже получен)
$expires - время жизни токена(если токен уже получен)

###Пример создания клиента:

```php
$appId = 3803;
$secret = '7oRFT6vBEaohqud4PYT2ZmIUL1Kn3uBB';
$token = 'a4nQuLXM7x46sDwrUlrCbsg9w1f2xzxn';
$expires = 86000;

$client = new Client(
$appId, $secret, $token, $expires
);
```

###Получения ссылки на страницу авторизации:

```php
$url = $client->getAuthenticationUrl($redirect)
```
где $redirect - ссылка, на страницу, куда будет произведен редирект с отсылкой кода

###Отправка запроса на получение токена
```php
$code = $_GET['code'];
$client->requestToken($code);
```
где $code - код полученный после предоставления прав на авторизацию
### Отправка запроса к API

```php
$route = '/v4/me.json';
$params = [];
$method = "POST";

$response = $client->fetch(
$route, $params, $method
);

echo $response->getJsonDecode();
```

В файле index.php можно посмотреть пример отправки запроса к API с авторизацией.