kirilcvetkov / tesla-api

一个简单的Laravel包,帮助您连接到您的Tesla。

v0.0.4 2024-01-09 07:02 UTC

This package is auto-updated.

Last update: 2024-09-09 08:38:59 UTC


README

这是一个composer包,允许您通过Tesla的API访问您的Tesla产品。您可以从您的Tesla账户查看产品、发送命令、获取指标等。

安装

您可以通过composer安装此包

composer require kirilcvetkov/tesla-api

用法

步骤1 - 获取一次性Token

使用您的Tesla账户凭据通过Tesla的认证页面进行身份验证以生成一次性token。这将直接连接到Tesla。登录后,您将到达“页面未找到”,这是预期的。查看此页面的URL并复制code参数。这就是您的一次性token。

以下是获取Tesla认证页面链接的方法

use KirilCvetkov\TeslaApi\Authenticate;

$url = Authenticate::create()->getLoginUrl();

echo '<a href="' . $url . '" target="_blank">Log into Tesla</a>';

“页面未找到”页面的URL可能如下所示:https://auth.tesla.com/void/callback?locale=en-US&code=NA_code_123&state=zzz&issuer=https%3A%2F%2Fauth.tesla.com%2Foauth2%2Fv3

步骤2 - 用长期Token替换一次性Token

使用code参数的值检索长期token

use KirilCvetkov\TeslaApi\Authenticate;

$singleUseToken = 'NA_code_123';
$accessToken = Authenticate::create()->getToken($singleUseToken);

echo '<pre>';
var_export($accessToken);

使用此token,您可以访问Tesla的API。

步骤3 - 访问API

use KirilCvetkov\TeslaApi\Tesla;

$tesla = Tesla::create($accessToken); // $accessToken comes from the previous example

$products = $tesla->products()->index();
echo '<pre>Product count ' . $products->totalCount . '<br>Items <br>';
var_export($products->items);

$vehicles = $tesla->vehicles()->index();
echo '<hr>Vehicle count ' . $vehicles->totalCount . '<br>Items <br>';
var_export($vehicles->items);

测试

composer test

变更日志

请参阅CHANGELOG以获取更多有关最近更改的信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过kcvetkov@live.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。