海报/api

PHP 库,使用流畅如丝的界面实现 Poster API

1.0.8 2021-04-16 12:44 UTC

README

PHP 库,使用流畅如丝的界面实现 Poster API。您可以使用建议来命名 API 方法,无需担心请求类型。只需在 API 部分(如 settingsmenu)中导航。

安装

composer require poster/api

API 调用示例

使用单例类 PosterApi 非常方便。您只需用用户凭据初始化类,然后就可以在项目中的任何地方调用 Poster API 方法。

<?php

use poster\src\PosterApi;

// Setting up account and token for requests 
PosterApi::init([
    'account_name' => 'demo',
    'access_token' => '4164553abf6a031302898da7800b59fb',
]);

// Reading settings
$result = (object)PosterApi::settings()->getAllSettings(); 
var_dump($result);

// Setting up extras for account 
$result = (object)PosterApi::application()->setEntityExtras([
    'entity_type' => 'settings',
    'extras' => [
        'synced' => true
    ]
]);
var_dump($result);

OAuth 示例

  1. 生成 URL 并将用户重定向到该 URL 以启动 OAuth
<?php

use poster\src\PosterApi;

PosterApi::init([
    'application_id' => 1, // Your application id (client_id) 
    'application_secret' => '1362900b6c441dd0f219bd0974c7e2b8', // secret
    'redirect_uri' => 'http://example.com/poster/auth',
]);

$oAuthUrl = PosterApi::auth()->getOauthUrl();

// Redirect user to this url to start authorization
http_redirect($oAuthUrl);
  1. 捕获用户重定向到您在先前步骤中使用的 redirect_uri,并获取访问令牌
<?php 

use poster\src\PosterApi;

$result = (object)PosterApi::auth()->getOauthToken($_GET['account'], $_GET['code']);

if (empty($result->access_token)) {
    echo "Poster auth error";
	var_dump($result);
	die;
}

// In case of successful auth, token and account name would be placed into config automatically
$settings = PosterApi::settings()->getAllSettings();
var_dump($settings);