1

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

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

4

2 回答 2

2

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

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

另一种选择是将您需要的数据设置为“公开”。显然,只有当数据公开的(阅读)时才有效……但许多网站都是如此。

于 2019-11-26T02:18:13.360 回答
1

谢谢RANGER,我有以下安装:

网址: 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多次文档并且我已经与这个主题在一起好几天了,我想自己解决它,但是我无法找到错误在PHP中使用file_get_contents()或curl调用API .

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

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

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

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

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

于 2019-11-26T09:24:24.370 回答