stephangroen / tesla-php-client
Tesla API 的 PHP 客户端
v0.6.0
2019-10-31 15:59 UTC
Requires
- php: >=7.0.0
README
一个用于轻松集成 Tesla API 的 PHP 客户端
此客户端非常基础,因此对 Tesla API 的大多数更改都将自动适应。您可以在https://tesla-api.timdorr.com/找到 API 的文档。
安装
此项目可以通过 Composer 轻松安装。
composer require stephangroen/tesla-php-client
一次性认证过程
在您开始之前,您首先需要获取一个访问令牌。这是一个一次性过程。幸运的是,客户端使这个过程非常简单。在此处获取 client_id 和 client_secret:http://pastebin.com/fX6ejAHd。您需要将它们添加到您现有的项目中的 .env 文件中,或者使用客户端提供的函数。您需要您用于 My Tesla 的电子邮件地址和密码。使用这些凭据,您可以获取访问令牌。
$tesla = new StephanGroen\Tesla\Tesla(); $tesla->setClientId('client_id_here'); $tesla->setClientSecret('client_secret_here'); $accessToken = $tesla->getAccessToken('your_username', 'your_password');
访问令牌是在此一次性过程之后所需的唯一认证令牌。
使用客户端
下次您想使用客户端时,请使用访问令牌启动它
$tesla = new StephanGroen\Tesla\Tesla('your_access_token');
获取和设置您的车辆 ID
为了执行针对特定车辆的调用,您需要您的车辆 ID。通过请求您的账户中的所有车辆来检索此 ID
$tesla = new StephanGroen\Tesla\Tesla(); $tesla->vehicles();
这将返回一个包含您的车辆信息的数组。从响应中提取 id
,而不是用于 Tesla 内部目的的 vehicle_id
。您可能想将此 ID 本地存储以供将来使用。当您拥有此 ID 时,按照以下方式通知客户端
$tesla = new StephanGroen\Tesla\Tesla(); $tesla->setVehicleId(123);
示例调用
调用非常简单,阅读源代码和 API 文档以找到所有可用的调用。例如,将充电限制设置为 90%。
$tesla = new StephanGroen\Tesla\Tesla('87dsfg76sdfg765sdfg765dsfg76fgds76'); $tesla->setVehicleId(123); $tesla->setChargeLimit(90);
因此,对于每次使用,您都需要启动客户端并设置用于执行调用的车辆 ID。
客户端响应
所有调用仅返回一个数组,其中包含在上述 API 文档中描述的数据。
408 响应
当您的车辆仍需唤醒时,您可能会收到一些 408 响应。稍等片刻,然后重试。