poster/api-php-binding

此包已被废弃,不再维护。作者建议使用poster/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 并将用户重定向到它以启动 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);