【发布时间】:2015-08-01 02:02:28
【问题描述】:
几乎尝试完全按照 Twilio REST API 网站上的示例中定义的方式进行操作。
https://www.twilio.com/docs/api/rest/media
在示例中,以下代码删除帐户库中的媒体。
$client->account->messages->get("MM800f449d0399ed014aae2bcc0cc2f2ec")->media->delete("ME557ce644e5ab84fa21cc21112e22c485");
并且此代码应该返回与特定消息关联的媒体资产列表:
foreach ($client->account->messages->get('MM800f449d0399ed014aae2bcc0cc2f2ec')->media as $media) {
echo $media->content_type;
}
问题是这两个例子都返回了错误:
在非对象上调用成员函数 get()
我不是 PHP 专家,我已尽我所能尝试调试它。我在脚本的其他地方成功地使用了对 $client->account->messages 的完全相同的调用,所以我知道那里有一个对象,并且只能假设 get() 方法以某种方式被破坏了。
我已阅读以下内容,但似乎没有回答我的问题:
Reference - What does this error mean in PHP?
PHP Error: "Call to member function create() on a non-object" Twilio code
calling to a member function create() on a non-object
有 Twilio 经验的人熟悉这里的问题吗?有什么方法可以至少确认这是我的 PHP 错误还是 Twilio Media API 或示例代码有问题?感谢您提供任何和所有帮助。
【问题讨论】:
-
不,
get方法没有损坏。 PHP 告诉你,在脚本中的那个时候,$client->account->messages不是一个对象。您是否尝试将其转储到屏幕上以查看它是什么?追溯使用它的最后一行是否有效? -
$client->account->messages返回一个对象,其中包含指定 Twilio 帐户的我的消息列表,正如他们的文档所预期的那样。似乎缺少 gt 函数。 -
阅读错误信息。这是一个基本的 PHP 错误。