我刚刚安装了Directus,但是我必须创建HTML界面,并且无法通过API提取数据。如何使用静态API?也就是说,使用某种静态令牌(前端将使用PHP)。
我已安装Directus套件(APP + API https://github.com/directus/directus),并且HTML将托管在同一服务器上。
答案 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
已解决:我应该使用**项目名称,而不要使用“ _ ”(默认项目)。**
很抱歉,这是一个基本错误,但是我遇到了几个遇到此问题的人。