2014-10-11 95 views
0
$new_contact = PodioContact::create( 
        2144836, 
        new PodioContact(
        array('name' => $name,'title'=>$title, 'organization'=>$org, 'phone' => $phone, 'mail' => $email) 
        ) 
       ); 

以上是创建新联系人的方法。它接受2个参数,第一个是工作区ID的整数,第二个是保存联系人详细信息的Contact对象。我如何知道参数应该是一个对象而不是数组?

参照这里https://developers.podio.com/doc/contacts/create-space-contact-65590,我清楚地知道第一个参数应该是什么,这是工作区ID。

但是,第二个参数在API Doc中是$ attributes = array(),它是一个数组。我认为这是联系人属性的关键值数组。我开始将一个键值数组传递到第二个参数中,如下所示:

$new_contact = PodioContact::create( 
        2144836, 
        array('name' => $name,'title'=>$title, 'organization'=>$org, 'phone' => $phone, 'mail' => $email) 
       ); 

它一直不能工作。经过挣扎并浪费了1个小时。我只是尝试传递Contact对象作为第二个参数,如本文开头所示。因此,通过这个试验和错误并浪费大量时间,我发现运气应该成为第二个参数。

所以我的问题是,为什么显示第二个参数的API Doc应该是一个数组?文档是错的还是我错过了什么?你能否告诉我,我在这里做了什么不对,所以我不需要反复试验,浪费1〜2小时来弄清楚第二个参数。

+0

不要怀疑自己。你测试并知道什么可行。询问podia关于他们的API文档。也许他们只是改变了功能,忘了更新文档。 – 2014-10-11 04:36:29

回答

2

这真的是一回事。当你传入Podio *对象作为attributes参数时,podio-php将通过调用该对象上的as_json方法(然后它将成为关联数组)将其序列化。如果你踢podio-php进入调试模式,你可以看到通过电线发送了什么:http://podio.github.io/podio-php/debug/

+0

感谢您的调试提示。 – 2014-10-16 07:04:05

相关问题