concretecms/community_api_client

本包包含一个能够连接到社区的API客户端。

dev-master 2022-05-19 01:21 UTC

This package is auto-updated.

Last update: 2024-09-19 06:00:11 UTC


README

这是用于与社区网站通信的官方API客户端。

目前功能非常有限,但很快将得到扩展。

您可以使用API客户端分配成就。

需求

  • PHP 7.1
  • 只能在Concrete CMS环境中运行

安装

社区API客户端可以使用Composer安装。

要安装,请运行 composer require concrete5/community_api_client

配置

没有界面可以配置API客户端。然而,有多种方式可以实现。

选项1:程序化

如果您想程序化设置凭证,可以这样做

use Concrete\Core\Support\Facade\Application;
use PortlandLabs\CommunityApiClient\ApiClient;

/** @var ApiClient $apiClient */
$apiClient = $app->make(ApiClient::class);
$apiClient
    ->setEndpoint("your_endpoint")
    ->setClientId("your_client_id")
    ->setClientSecret("your_client_secret");

选项2:使用配置文件

您还可以使用配置文件。

您需要创建一个名为 application/config/community_api_client.php 的文件,并包含以下内容

<?php
return [
    'endpoint' => 'your_endpoint',
    'client_id' => 'your_client_id',
    'client_secret' => 'your_client_secret'
];

选项3:使用Concrete CMS CLI应用

您还可以使用CLI应用来配置API客户端。

concrete/bin/concrete5 c5:config set community_api_client.endpoint your_endpoint
concrete/bin/concrete5 c5:config set community_api_client.client_id your_client_id
concrete/bin/concrete5 c5:config set community_api_client.client_secret your_client_secret

选项4:使用环境变量

您还可以使用环境变量来设置凭证。以下变量被使用。

API_COMMUNITY_ENDPOINT
API_COMMUNITY_CLIENT_ID
API_COMMUNITY_CLIENT_SECRET

如果配置了环境变量,则将忽略Concrete CMS配置。

用法

配置端点后,您可以与API接口通信。

以下代码片段演示了如何处理它。

use Concrete\Core\Support\Facade\Application;
use PortlandLabs\CommunityApiClient\Models\Achievements;

$app = Application::getFacadeApplication();
/** @var Achievements $achievements */
$achievements = $app->make(Achievements::class);
$success = $achievements->assign("test_handle");

目前没有可用的API文档。因此,如果您想了解可用的功能,需要查看此存储库中的models文件夹。