获取 Twilio 主账户的所有子账户使用资源

问题描述

我是 PHPtwillio 的新手。我正在尝试获取我的子帐户的所有类型使用信息。基本上我想将此信息存储在我的谷歌表中并需要这个值

enter image description here

我可以像下面一样获取我所有的子帐户 SID

<?PHP
require_once 'vendor/autoload.PHP';

use Twilio\Rest\Client;
$sid  = "my main account sid";
$token = "my token";

$twilio = new Client($sid,$token);

$accounts = $twilio->api->v2010->accounts
                               ->read([],20);

$items = array();
foreach ($accounts as $record) {
    $items[] = $record->sid;
   
}
 print_r($items);
?>

这很好。我可以在 foreach 中循环我的所有子帐户以获取使用情况。对于 Fetch 使用,我关注 this guide

代码如下

<?PHP
require_once 'vendor/autoload.PHP';

use Twilio\Rest\Client;
$sid  = "my main account";
$token = "my token";

$client = new Client($sid,$token);

$records = $client->usage->records->read(
    array(
        "category" => "sms-outbound","startDate" => "2021-02-01","endDate" => "2021-02-28"
    )
);

// Loop over the list of records and echo a property for each one
foreach ($records as $record) {
    echo $record->price;
}
?>

目前我正在获取主帐户的费用。

我不知道如何获得我在上图中提到的具有不同类型用法的子帐户的成本。我不知道我是否遵循正确的 API 指南来实现我的目标。如果这里有人可以指导我或可以举个例子,请告诉我。

非常感谢!

解决方法

这里是 Twilio 开发者布道者。

问题是您代表您的主帐户发出 API 请求,因此您从该帐户获取数据。对于 make a request on behalf of a subaccount,您应该将子帐户 SID 添加到 API 客户端,如下所示:

$sid = "main account sid";
$subaccountSid = "subaccount sid";
$token = "main account token";
$client = new Client($sid,$token,$subaccountSid);

然后,当您使用此 $client 发出请求时,它们将针对子帐户发出。