olssonm/roaring

Roaring.io API包装器

资助包维护!
olssonm

v2.2 2024-09-17 11:43 UTC

This package is auto-updated.

Last update: 2024-09-17 11:44:47 UTC


README

Latest Version on Packagist Software License Software License Scrutinizer Score

这是一个非常简单的用于roaring.io API的包装器。

这个包装器设计得快速且易于使用——没有繁琐。只需创建一个新的带有您的API密钥的对象,然后调用您想要调用的端点。尽管您必须根据您的需求进行数据操作。

该包还包括Laravel的服务提供者。

顺便说一下;这个包使用了httpful-库进行HTTP请求。虽然通常推荐使用Guzzle等,但使用不同版本的这些更常见的库可能会在某些框架中引入冲突。

要求

PHP ^7.3 / ^8.0

如果您想使用Laravel服务提供者,支持Laravel 5.5及以上版本。

安装

$ composer require olssonm/roaring

Laravel

Laravel应自动发现服务提供者。您也可以手动将其添加到您的config/app.php文件中的提供者数组中

'providers' => [
    Olssonm\Roaring\Laravel\ServiceProvider::class
]

您可以在config/app.php中使用外观设置别名

'aliases' => [
    'Roaring' => Olssonm\Roaring\Laravel\Facades\Roaring::class
]

为了使用依赖注入/外观初始化Roaring对象,您需要将您的密钥和秘密设置在/config/services.php

'roaring' => [
    'key' => env('ROARING_KEY', 'xxx'),
    'secret' => env('ROARING_SECRET', 'zzz')
]

用法

使用包装器非常简单——只需初始化对象并调用您希望使用的端点。

作为独立/主类使用

use \Olssonm\Roaring\Roaring;

$response = (new Roaring('key', 'secret'))
    ->get('/se/company/overview/1.1/5567164818')
    ->getResponse();

通过Laravel外观/依赖注入使用

use Roaring;

$response = Roaring::get('/se/company/overview/1.1/5567164818')
    ->getResponse();

Roaring.io使用OAuth协议——当前在初始化时自动创建新的OAuth令牌,除非传递了已存在的令牌给Roaring构造函数。

因为getResponse()-方法总是返回最新的响应,您可以创建一个新的对象并返回响应来检索令牌数据

$token = (new Roaring('key', 'secret'))->getResponse('body');

var_dump($token);

// object(stdClass)#26 (4) {
//   ["access_token"]=>
//   string(36) "xxxx-xxxx-xxxx-xxxx-xxxx"
//   ["scope"]=>
//   string(28) "am_application_scope default"
//   ["token_type"]=>
//   string(6) "Bearer"
//   ["expires_in"]=>
//   int(2184)
// }

您也可以使用getToken()来检索它。这使您能够通过将其作为第三个参数传递来重用令牌(这通常并不必要——只是如果您知道令牌仍然有效,可以节省一个请求)。

use Olssonm\Roaring\Roaring;

$response = (new Roaring('key', 'secret', $token))
    ->get('/se/company/overview/1.1/5567164818')
    ->getResponse();

返回的对象始终为stdClass类型(内部httpful只是将返回的JSON解包以设置对象)。

使用getResponse(),您将接收到整个响应,您也可以使用例如getResponse('body')来仅检索bodygetResponse('code')来获取code-属性等。

测试

首先您需要从roaring.io获取沙盒密钥,一旦获得,将/tests/config.example.json复制到/tests/config.json,设置您的密钥然后运行

$ composer test

$ phpunit

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

© 2020 Marcus Olsson