cgmalaquias/basecamp3-laravel

Basecamp 3 API 与 Laravel 5 集成

dev-master 2016-10-14 17:36 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:37:11 UTC


README

Basecamp 3 API 与 Laravel 5 集成 将通过 37 Signals 提供的 Basecamp 3 新 APILaravel 5 应用 集成。

安装

我们建议使用 composer 进行安装:(在安装 Laravel 5 之后)

$ php composer.phar require cgmalaquias/basecamp3-laravel

使用

为了使用这个库,您需要在 https://integrate.37signals.com/ 上创建一个账户。请使用 Laravel Socialite 库。

认证后,在名为 BasecampController.php 的控制器中使用以下配置:

使用 OAuth 令牌进行认证

以下是一个示例,展示了您的控制器如何使用 handle 和 callback:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Socialite;
use Basecamp;

class BasecampController extends Controller {

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function handle(Request $request) {
        return Socialite::driver('Thitysevensignals')->redirect();
    }

    public function callback(Request $request) {
        $user = Socialite::driver('Thitysevensignals')->stateless()->user();
        $client = Basecamp\BasecampClient::factory(array(
                    'base_url' => $user->user['accounts'][1]['href'],
                    'auth' => 'oauth',
                    'username' => $user->user['identity']['email_address'],
                    'user_id' => $user->user['identity']['id'], //$user->user['accounts'][1]['id'],
                    'app_name' => $user->user['accounts'][1]['name'],
                    'app_contact' => $user->user['identity']['email_address'],
                    'token' => $user->token
        ));
        //dd($user);
        dd($client);
    }

在控制器中,您可以创建方法以接受该库中所有复合请求,并进行测试。

  • updateTodo
  • grantAccess
  • updateCalendar
  • deleteCalendar
  • updateCalendarEvent
  • deleteCalendarEvent
  • updateProjectCalendarEvent
  • deleteProjectCalendarEvent