xeroapi/xero-php-oauth2-app

PHP 的 Xero OAuth 2.0 应用

安装次数: 6,332

依赖: 0

建议者: 0

安全: 0

星标: 22

关注者: 17

分支: 25

开放问题: 2

类型:项目

1.1.0 2020-03-10 20:22 UTC

README

此 PHP 项目演示了如何使用 xero-php-oauth2 SDK。使用 composer 或克隆此仓库到您的本地机器开始。

您将能够连接到 Xero 组织,进行真实 API 调用。每个 API 调用的代码将与 Xero API 返回的结果一起显示。

入门指南

要在本地运行,您需要一个支持 PHP 的本地 Web 服务器。

手动下载

  • 将此仓库克隆到您的本地服务器 webroot。
  • 启动终端应用,切换到新克隆的文件夹 xero-php-oauth2-app
  • 使用以下命令使用 Composer 下载依赖项
composer install

创建 Xero 应用

要获取您的 API 密钥,请按照以下步骤创建 Xero 应用

  • 创建一个 免费的 Xero 用户账户(如果您还没有)
  • 登录到 Xero 开发者中心
  • 点击 "新建应用" 链接
  • 输入您的应用名称、公司 URL、隐私政策 URL。
  • 输入重定向 URI(您的回调 URL - 例如 http://localhost:8888/xero-php-oauth2-app/callback.php
  • 同意条款并点击 "创建应用"。
  • 点击 "生成密钥" 按钮。
  • 复制您的客户端 ID 和客户端密钥,以便稍后使用。
  • 点击 "保存" 按钮。您的密钥现在已隐藏。

配置您的 .env 文件

您需要设置您的 .env 文件

将文件 sample.env 重命名为 .env 并复制粘贴您的 clientId, clientSecret 和 redirectUri。这些 .env 变量将被 authorization.php、callback.php、get.php 读取。

sample.env 文件

CLIENT_ID = "YOUR-CLIENT-ID"
CLIENT_SECRET = "YOUR-CLIENT-SECRET"
REDIRECT_URI = "http://localhost:8888/xero-php-oauth2-app/callback.php"

authorization.php 中的示例 PHP 代码

// This library will read variable from the .env file.
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$clientId = getenv('CLIENT_ID');
$clientSecret = getenv('CLIENT_SECRET');
$redirectUri = getenv('REDIRECT_URI');

$provider = new \League\OAuth2\Client\Provider\GenericProvider([
	'clientId'                => $clientId,   
	'clientSecret'            => $clientSecret,
	'redirectUri'             => $redirectUri,
	'urlAuthorize'            => 'https://login.xero.com/identity/connect/authorize',
	'urlAccessToken'          => 'https://identity.xero.com/connect/token',
	'urlResourceOwnerDetails' => 'https://api.xero.com/api.xro/2.0/Organisation'
]);

docker-compose

在此仓库的根目录中运行 docker-compose up 以启动本地服务器。服务器默认发布到端口 8080

http://localhost:8080/

重定向 URL 将是 http://localhost:8080/callback.php,必须在此演示应用程序的配置和您的 Xero 应用中设置。

可以通过环境中的 APP_HTTP_PORT 变量或通过 .env 设置本地端口。如果您想使用已被占用的端口 8080,则可能需要这样做。

许可证

本软件在 MIT 许可证 下发布。

Copyright (c) 2019 Xero Limited

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.