【发布时间】:2019-11-25 14:20:03
【问题描述】:
我刚刚安装了Directus,但我必须创建HTML界面,我无法通过API提取数据。如何使用静态 API?也就是用某种静态令牌(前面会用PHP做)。
我安装了 Directus 套件(APP + API https://github.com/directus/directus),HTML 将托管在同一台服务器上。
【问题讨论】:
我刚刚安装了Directus,但我必须创建HTML界面,我无法通过API提取数据。如何使用静态 API?也就是用某种静态令牌(前面会用PHP做)。
我安装了 Directus 套件(APP + API https://github.com/directus/directus),HTML 将托管在同一台服务器上。
【问题讨论】:
Directus 具有可分配给任何 Directus 用户的内置静态令牌,并继承该用户的权限。您可以在directus_users.token(明文)中设置此静态令牌,然后使用它对 API 进行身份验证。这不如其他身份验证方法安全,但这取决于您如何使用它。
https://docs.directus.io/api/reference.html#tokens
另一个选项是将您需要的数据设置为“公开”。显然,只有当该数据 公开(已阅读)时才有效......但许多网站都是如此。
【讨论】:
directus_users.token,我在哪里可以找到它?不幸的是,该链接不再有效。谢谢!
感谢RANGER,我有以下安装:
网址: https://cms.domain.com/public/ (APP + API 直通)
我查看了您评论的表格的列,确实已经建立了一个令牌: 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
已解决:我应该使用**项目名称而不是“_”(默认项目)。**
很抱歉,这是一个如此基本的错误,但我遇到过几个人遇到这个问题。
【讨论】: