使用 AngularJS 远程标记 Drupal 7 中的节点

Remotely flag a node in Drupal 7 with AngularJS

我有一个 Drupal 7 网站用作后端,带有 flags module。简而言之,用户可以标记节点并创建这些标记节点的列表。在网站上,它运行得非常好,我完全没有问题。

问题是当我尝试使用 AngularJS 标记或取消标记节点时。我能够创建和编辑一个节点,但我终其一生都无法弄清楚如何使用特定标志标记或取消标记它。

在我可以看到用户已标记内容列表的“视图”页面中,有一个选项可以决定是否标记某些内容。问题是同一个节点可能被标记为一件事,而不是另一件事。我找不到区分两者的方法。 "I have this!" 和 "I want this!" 是两个不同的标志。如果只是一个,那么我可以轻松地走 "Yep, this is flagged!" 路线。

有谁知道查看 哪个 标志被标记的方法吗?我使用视图在 JSON 中得到结果,我使用的是 AngularJS 1.5.3.

我终于明白了!首先,我必须安装并启用 Flag Services 模块。然后,我刚刚在我的服务器上启用了标记。

在那之后,我可以到达终点

www.mywebsite.com/api/flag/flag.json

有一个 POST 请求。我包含的 headers 与更新节点时包含的相同,它们是

Content-Type : application/json,
Cookie : Session Name = Session ID
X-CSRF-Token : www.example.com/?q=services/session/token

然后,body

"flag_name" : "name",
"action" : "flag" (or "unflag"),
"entity_id" : node ID

这使您可以标记或取消标记节点上的特定标记。我会把它留在这里以防其他人遇到同样的问题!