使用Directus CMS API的步骤

时间:2019-11-25 14:20:03

标签: api directus

我刚刚安装了Directus,但是我必须创建HTML界面,并且无法通过API提取数据。如何使用静态API?也就是说,使用某种静态令牌(前端将使用PHP)。

我已安装Directus套件(APP + API https://github.com/directus/directus),并且HTML将托管在同一服务器上。

2 个答案:

答案 0 :(得分:1)

Directus具有内置的静态令牌,可以将其分配给任何Directus用户,并继承该用户的权限。您可以在directus_users.token(纯文本)中设置此静态令牌,然后使用它来向API进行身份验证。此安全性不如其他身份验证方法安全,但这取决于您如何使用它。

https://docs.directus.io/api/reference.html#tokens

另一种选择是将所需数据设置为“公开”。显然,只有在数据 是公开(READ)的情况下,此方法才有效...但是许多网站都是这种情况。

答案 1 :(得分:0)

感谢RANGER,我进行了以下安装:

URL: https://cms.domain.com/public/(APP + API Directus)

我已经查看了您评论的表的列,确实已经建立了一个令牌: BGJFwQ1KlHnH91V2oIwMbOsG

$contents = file_get_contents('https://cms.domain.com/public/_/collections/categories?access_token=BGJFwQ1KlHnH91V2oIwMbOsG');
var_dump($contents);

但是它不起作用,我已经阅读了10多次文档,并且已经研究了数天,我想自己解决这个问题,但是我无法使用file_get_contents()或在PHP中卷曲来找到错误。调用API。

Directus ADMIN位于: https://cms.domain.com/public/admin/#/

我已经从ADMIN用户那里获取了令牌,因此我了解您拥有使用该API的所有权限。在示例中,我想列出具有3条记录的“类别”(集合)。

已解决:卷曲https://cms.domain.com/public/name-of-project/collections?access_token=BGJFwQ1KlHnH91V2oIwMb34343G

已解决:我应该使用**项目名称,而不要使用“ _ ”(默认项目)。**

很抱歉,这是一个基本错误,但是我遇到了几个遇到此问题的人。