我尝试将其中一个字段属于联系人(用户)的项目添加到Podio。
我没有联系人profile_id,只有名称,所以我需要在添加之前搜索联系人以获取profile_id。
问题是因为我使用的是app身份验证,所以/ contact / resources无法访问。
错误是:"此方法不允许以app身份验证"
建议的方法是什么?
感谢。
答案 0 :(得分:1)
正如我所看到的,这里棘手的部分是你只有一个用户名。所以你需要先搜索这个名字。
为了能够搜索,您应该不是作为应用程序进行身份验证,而是作为具有适当权限的用户进行身份验证。我相信这是因为搜索功能为每位用户rate-limited 。您可以在客户端,服务器端或只需输入用户的电子邮件和密码进行身份验证(请参阅documentation here)。
然后,在进行身份验证时,只需使用带有参数"ref_type": "profile"
的搜索功能,即可在space,organisation或globally中查找用户名。 PHP客户端示例:
$attributes = array(
"query" => "John Doe",
"ref_type" => "profile"
);
$results = PodioSearchResult::space( $space_id, $attributes ); // search in space
$results = PodioSearchResult::org( $org_id, $attributes ); // search in organisation
$results = PodioSearchResult::search( $attributes ); // search globally
上面的函数将返回找到的最相关结果的数组。在那里,您可以获得用户ID和其他用户信息。
注意从技术上讲,几个不同的用户可能具有相同的名称,因此可能会找到更多的结果。你会以某种方式选择其中一个。