kirilcvetkov / tesla-api
一个简单的Laravel包,帮助您连接到您的Tesla。
v0.0.4
2024-01-09 07:02 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.5
- webmozart/assert: ^1.11
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
- larapack/dd: ^1.1
- mailgun/mailgun-php: ^3.5
- phpunit/phpunit: ^10.1
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)。请参阅许可文件以获取更多信息。