使用 apollo angular GraphQL 在 Drupal8 中添加用户

Posted

技术标签:

【中文标题】使用 apollo angular GraphQL 在 Drupal8 中添加用户【英文标题】:Add User in Drupal8 using apollo angular GraphQL 【发布时间】:2019-05-12 10:09:07 【问题描述】:

我想在 Drupal8 后端注册一个新用户。 在 drupal8 中安装了 graphql,因此它可以作为 graphql 服务器工作。在 angular5 中安装了 apollo 并成功获取了节点和文章列表。 现在我想在 drupal8 中使用 graphql 查询从角度侧注册一个用户。

const headers = new HttpHeaders();
headers.append("Access-Control-Allow-Origin", "*");
headers.append("Access-Control-Allow-Headers", "x-requested-with");
const submitClient = gql`mutation ($input: UserUserCreateInput!) 
  createUserUser(input: $input) 
    violations 
      path
      message
    
    errors
    entity 
      entityId
      entityBundle
      entityLabel
    
  

`;

 this.apollo.mutate(
  mutation: submitClient,
  variables: 
    "input": 
      "name": "New Client",
      "mail": "newClient@gmail.com",
      "status": "1"
    

  
).subscribe(r => console.log(r), e => console.log(e), () => console.log('done'));

这是我的一段代码。

得到回应

data:
createUserUser:
entity: null
errors: Array(1)
0: "You do not have the necessary permissions to create entities of this type."
length: 1
proto: Array(0)
violations: []
__typename: "EntityCrudOutput"
proto: Object
proto: Object

这一定是因为某些身份验证或权限相关。 请帮我解决这个问题。 提前致谢。

【问题讨论】:

【参考方案1】:

我会说你缺少创建用户的权限,你可以去admin/people/permissions测试它并滚动到页面底部,在那里你可以找到创建用户的权限,将该权限添加到匿名用户和然后尝试再次执行您的突变。希望这有效。

【讨论】:

以上是关于使用 apollo angular GraphQL 在 Drupal8 中添加用户的主要内容,如果未能解决你的问题,请参考以下文章

angular, apollo-client, graphQL - 从 graphql 查询中选择所有字段

使用 apollo angular GraphQL 在 Drupal8 中添加用户

Apollo Angular 无法从 GraphQL/MongoDB 获取数据

angular 的 Apollo 客户端:从 graphql 文件生成代码

在 Angular Apollo Graphql 中访问突变结果

如何在 Angular 5 中使用 GET 方法使用 apollo graphql 查询