如何解析twilio通知API请求响应

问题描述

我正在使用twilio最新的PHP sdk 6.10在这里,我试图进行通知API调用以发送批量消息。 它工作正常,但是它返回的请求Response不是正确的json格式。相反,我得到类似自定义对象属性的东西

Twilio\Rest\Notify\V1\Service\NotificationInstance Object
(
    [version:protected] => Twilio\Rest\Notify\V1 Object
        (
            [_credentials:protected] => 
            [_services:protected] => Twilio\Rest\Notify\V1\ServiceList Object
                (
                    [version:protected] => Twilio\Rest\Notify\V1 Object
 *RECURSION*
                    [solution:protected] => Array
                        (
                        )

                    [uri:protected] => /Services
                )

            [domain:protected] => Twilio\Rest\Notify Object
                (
                    [_v1:protected] => Twilio\Rest\Notify\V1 Object
 *RECURSION*
                    [client:protected] => Twilio\Rest\Client Object
                        (
                            [username:protected] => sidddddddddddddd555555555555555
                            [password:protected] => jk44444444444444555555555555555
                            [accountSid:protected] => sighhhhhhhhhhhhhhhhhh44444444
                            [region:protected] => 
                            [edge:protected] => 
                            [httpClient:protected] => Twilio\Http\CurlClient Object
                                (
                                    [curlOptions:protected] => Array
                                        (
                                        )

                                       .
                                       .
                                       .

如何使其以正确的json格式返回响应? 这就是我发出发送请求的方式

 $notification = $client
    ->notify->services($messagingServiceSid)
    ->notifications->create([
    "toBinding" => $binding,"body" => $sms_text
 ]);

或者如何从这种类型的响应中获取所需的数据?

解决方法

这里是Twilio开发人员的传播者。

Twilio PHP库不会将原始JSON返回给您。而是解析它并将其转换为一个PHP对象,您可以调用该对象来检索数据或使用其进行进一步的API调用。

您拥有的对象是NotifcationInstance,其文档位于此处:https://www.twilio.com/docs/libraries/reference/twilio-php/6.10.3/classes/Twilio_Rest_Notify_V1_Service_NotificationInstance.html

源代码(包括所有属性)在此处:https://github.com/twilio/twilio-php/blob/main/src/Twilio/Rest/Notify/V1/Service/NotificationInstance.php

因此,您可以通过调用实例的属性来获取数据:

 $notification = $client
    ->notify->services($messagingServiceSid)
    ->notifications->create([
    "toBinding" => $binding,"body" => $sms_text
 ]);

 echo $notification->sid;
 echo $notification->body;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...