Laravel 5 的 Grovo API 服务提供商

dev-master 2015-12-29 21:51 UTC

This package is auto-updated.

Last update: 2024-09-21 20:25:54 UTC


README

Laravel 5.1 Grovo API 服务提供商

Grovo API 文档

http://docs.grovo.apiary.io

所需设置

composer.json 文件的 repositories 键中添加以下内容

"require": {
  "php": ">=5.5.9",
  "laravel/framework": "5.1.*",
  ...
  "upwebdesign/grovo": "dev-master",
},
...
"repositories": [ {
  "type": "vcs",
  "url": "https://github.com/upwebdesign/grovo"
}],

运行 Composer 更新命令

$ composer update

或者

$ composer update upwebdesign/grovo

在你的 config/app.php 文件中,将 'Upwebdesign\Grovo\GrovoServiceProvider' 添加到 $providers 数组的末尾

'providers' => array(

    'Illuminate\Foundation\Providers\ArtisanServiceProvider',
    'Illuminate\Auth\AuthServiceProvider',
    ...
    'Upwebdesign\Grovo\GrovoServiceProvider',

),

不要忘记导出 composer 自动加载

$ composer dump-autoload

配置

config/filesystems.php 中添加新的磁盘

'config' => [
    'driver' => 'local',
    'root' => config_path()
],

发布 grovo.config 文件

$ php artisan vendor:publish

为了向 Grovo 发送请求,我们需要获取一个 API 令牌。你可以通过运行以下命令来完成此操作

$ php artisan grovo:requestToken

当此命令完成后,它将更新你的 config/grovo.config 文件并添加新的令牌。建议将你的令牌存储在 .env 文件中。示例

APP_ENV=local
APP_DEBUG=true
...
GROVO_TOKEN=xxxxxxxx

在你的 config/grovo.php 配置文件中更新

  'client_id' => '',
  'client_secret' => '',
  ...
  'token' => env(GROVO_TOKEN),

现在,你的 Grovo 令牌已安全存储在你的 .env 文件中。

用法

因此,我们已经有了 Grovo API 令牌,并准备好开始发送请求。

如果发生错误,将抛出 HttpException 异常,可以捕获它。

use Upwebdesign\Grovo\Grovo

类型提示

public function method(Grovo $grovo)

获取用户

$grovo->user()->get($id);

创建用户

$grovo->user()->create([
  'email': 'jimmys@grovo.com',
  'first_name': 'Jon',
  'last_name': 'Sales',
  'groups': [
    'Engineering',
    'Platform',
    'API'
  ],
  'office_location': 'New York',
  'department': 'Engineering',
  'job_title': 'Senior Engineer',
  'employee_id': 8,
  'employment_type': 'fulltime',
  'hire_date': '2014-11-17 22:36:59',
  'status': 'active'
]);

更新用户

$grovo->user()->update($id, [
  'first_name': 'Feddy',
  'groups': 'Architecture'
]);

删除用户

$grovo->user()->delete($id);

完整示例

<?php

namespace App\Http\Controllers;

use Upwebdesign\Grovo\Grovo

class UserController extends Controller
{
    public function show(Grovo $grovo)
    {
        $user = $grovo->user()->get(1);
        return view('user.show', compact('user'));
    }
}