在作为应用进行身份验证时添加带有联系人引用的项目时出现问题

时间:2017-10-23 07:29:24

标签: api authentication podio

我尝试将其中一个字段属于联系人(用户)的项目添加到Podio。

我没有联系人profile_id,只有名称,所以我需要在添加之前搜索联系人以获取profile_id。

问题是因为我使用的是app身份验证,所以/ contact / resources无法访问。

错误是:"此方法不允许以app身份验证"

建议的方法是什么?

感谢。

1 个答案:

答案 0 :(得分:1)

正如我所看到的,这里棘手的部分是你只有一个用户名。所以你需要先搜索这个名字。

为了能够搜索,您应该不是作为应用程序进行身份验证,而是作为具有适当权限的用户进行身份验证。我相信这是因为搜索功能为每位用户rate-limited 。您可以在客户端,服务器端或只需输入用户的电子邮件和密码进行身份验证(请参阅documentation here)。

然后,在进行身份验证时,只需使用带有参数"ref_type": "profile"的搜索功能,即可在spaceorganisationglobally中查找用户名。 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和其他用户信息。

注意从技术上讲,几个不同的用户可能具有相同的名称,因此可能会找到更多的结果。你会以某种方式选择其中一个。