mrgla55/tabapi

TAB Studio API包装器

v0.1.1 2018-10-02 21:46 UTC

This package is auto-updated.

Last update: 2024-09-29 05:27:56 UTC


README

Laravel 5的TAB Studio REST API客户端

Laravel Latest Stable Version Total Downloads License Build Status

Laravel的TAB REST API客户端。

虽然这个包是为Laravel构建的,但它已经被解耦,可以扩展到任何框架或纯PHP应用程序。目前只支持Laravel 4、5和Lumen。

安装

Tabapi可以通过composer安装。打开您的composer.json文件,并在require键中添加以下内容

"mrgla55/tabapi": "0.*"

然后在命令行中运行composer update来安装包。

Laravel安装

将服务提供者和别名添加到您的config/app.php文件中

mrgla55\Tabapi\Providers\Laravel\TabapiServiceProvider::class
'Tabapi' => mrgla55\Tabapi\Providers\Laravel\Facades\Tabapi::class

对于Laravel 4,在app/config/app.php中添加mrgla55\Tabapi\Providers\Laravel4\TabapiServiceProvider。别名保持不变。

Lumen安装

class_alias('mrgla55\Tabapi\Providers\Laravel\Facades\Tabapi', 'Tabapi');
$app->register(mrgla55\Tabapi\Providers\Lumen\TabapiServiceProvider::class);
$app->configure('Tabapi');
$app->withFacades();

然后您将在bootstrap/app.php文件中注册Lumen服务提供者。

配置

您需要一个配置文件来添加您的凭证。使用artisan命令发布配置文件

php artisan vendor:publish

您可以在以下位置找到配置文件:config/tabapi.php

对于Lumen,您应将配置文件从src/config/config.php复制到应用程序根目录下的config目录中的Tabapi.php配置文件。

对于Laravel 4,运行php artisan config:publish mrgla55/Tabapi。它将在app/config/mrgla55/Tabapi/config.php中找到。

入门指南

设置TAB Studio账户

  1. 访问https://studio.tab.com.au/
  2. 您需要一个有效的TAB账户号码
  3. 点击“注册”并完成表格。注册通常需要2-3天。
  4. 登录TAB Studio
  5. 点击右上角的“设置”
  6. 注意您的Client Id和Client Secret,并将它们放入.env文件中的TAB_CLIENT_ID和TAB_CLIENT_SECRET,或更新tabapi配置文件。

设置

创建路由

测试API流程
Route::get('/versions', function()
{
    return Tabapi::versions();
});

API请求

所有资源都通过方法重载动态请求。

首先,通过调用确定您可以访问哪些资源

Tabapi::resources();

结果

Array
(
    [account:authenticate] => https://webapi.tab.com.au/v1/account-service/tab/authenticate
    [account:balance] => https://webapi.tab.com.au/v1/account-service/tab/accounts/{accountNumber}/balance
	...
)

接下来,通过引用指定的键调用资源。用下划线 '_' 替换冒号 ':'。在基本URL中嵌入的参数用参数替换。任何剩余的参数都添加到查询字符串中。

例如

Tabapi::lookup_countries_allowed();

Tabapi::info_sports(['jurisdiction' => 'nsw']);

自定义Apex端点

对于嵌套链接或直接调用,您可以使用custom()方法来使用它们。

Tabapi::custom('/myEndpoint');

可以像这样传递额外的选项和参数

Tabapi::custom('https://api.beta.tab.com.au/v1/tab-info-service/racing/dates/2018-11-06/meetings/R/Racing%20-%20Futures/races/Melbourne%20Cup%20(All%20In)', [
		'parameters' => ['jurisdiction' => 'VIC', 'fixedOdds' => 'true']
	]);

有关更多信息,请参阅“使用Apex REST创建REST API”。

有关Guzzle响应和事件监听器的更多信息,请参阅他们的文档