timetree / timetree-sdk-php
TimeTree WebAPI的官方SDK
v1.0.1
2021-07-02 06:37 UTC
Requires
- firebase/php-jwt: ^5.2
- guzzlehttp/guzzle: ^7.2
- jawira/case-converter: ^3.4
Requires (Dev)
- mockery/mockery: ^1.4
- overtrue/phplint: ^2.2
- phpunit/phpunit: ^9.4
- ulrichsg/getopt-php: ^3.4
This package is auto-updated.
Last update: 2024-09-23 09:34:24 UTC
README
timetree/timetree-sdk-php
是一个简单的HTTP客户端,用于请求TimeTree的Web API。
版本
timetree-sdk-php
对所有更改使用修改版的语义化版本控制。
安装
您可以通过composer安装timetree-sdk-php或下载此代码。
通过Composer
composer require timetree/timetree-sdk-php
用法
作为OAuth应用程序访问API端点
请参阅docs了解OAuthApp。
获取AccessToken
<?php use TimeTreeWebApi\OauthApp\OAuthAuthenticator; $instance = new OAuthAuthenticator( "<clientId>", "<clientSecret>", "<redirectUri>", "<code>", "<grantType>", "<codeVerifier>", ); $tokens = $instance->getToken(); // Please save this token print_r($tokens);
获取日历
<?php use TimeTreeWebApi\OauthApp\OauthClient; use TimeTreeWebApi\OauthApp\Parameter\GetCalendarsParams; $instance = new OauthClient( "<your-access-token>", ); $calendars = $instance->getCalendars(new GetCalendarsParams()); print_r($calendars);
创建事件
<?php use TimeTreeWebApi\OauthApp\OauthClient; use TimeTreeWebApi\OauthApp\Parameter\CreateEventParams; use TimeTreeWebApi\OauthApp\Parameter\LabelsParams; $instance = new OauthClient( "<your-access-token>", ); $event = $instance->createEvent(new CreateEventParams( "ABCD", // CalendarID "Event Title", // Event Title "schedule", // "schedule" or "keep" true, // Allday: true or false new LabelsParams(1), // Label ID you want to set. new DateTime("2021-01-01"), // Start time of the event you want to create. null, // TimeZone of Start time new DateTime("2021-01-01"), // End time of the event you want to create. )); print_r($event);
作为日历应用程序访问API端点
请参阅docs了解CalendarApp。
获取日历
<?php use TimeTreeWebApi\CalendarApp\CalendarAppAuthenticator; use TimeTreeWebApi\CalendarApp\CalendarAppClient; $instance = new CalendarAppAuthenticator( "<your-calendar-app-id>", "-----BEGIN RSA PRIVATE KEY-----\n....-----END RSA PRIVATE KEY-----\n" ); $token = $instance->getAccessToken("<installation-id>"); $client = new CalendarAppClient($token); $calendar = $client->getCalendar(); print_r($calendar);
创建事件
<?php use TimeTreeWebApi\CalendarApp\CalendarAppAuthenticator; use TimeTreeWebApi\CalendarApp\CalendarAppClient; use TimeTreeWebApi\CalendarApp\Parameter\CreateEventParams; $instance = new CalendarAppAuthenticator( "<your-calendar-app-id>", "-----BEGIN RSA PRIVATE KEY-----\n....-----END RSA PRIVATE KEY-----\n" ); $token = $instance->getAccessToken("<installation-id>"); $client = new CalendarAppClient($token); $params = new CreateEventParams( "Event Title", // Event Title "schedule", // "schedule" or "keep" true, // Allday: true or false new LabelsParams(1), // Label ID you want to set. new DateTime("2021-01-01"), // Start time of the event you want to create. null, // TimeZone of Start time new DateTime("2021-01-01"), // End time of the event you want to create. ); $response = $client->createEvent($params); print_r($response);
异常
timetree-sdk-php
依赖于guzzle。因此,异常也抛出guzzle的异常。
许可证
阅读许可证以获取更多许可信息。