【问题标题】:GraphQL mutation permission error: 'Error: Mutation failed due to permission errors:'GraphQL 变异权限错误:'错误:由于权限错误导致变异失败:'
【发布时间】:2022-06-27 09:42:56
【问题描述】:

问题

我正在使用 graphql 开发 next.js 应用程序,并且我正在尝试从我的应用程序创建内容。

当我运行我的变异查询时,我得到了这个:

Error: Mutation failed due to permission errors: {"response":{"errors":[{"message":"Mutation failed due to permission errors","extensions":{"code":"403","failedActions":[{"action":"create","model":"NousContacter","stage":"DRAFT"}]}}],"data":null,"extensions":{"requestId":"cl47gsed70qm30bt92jr1df04"},"status":403,"headers":{"map":{"cache-control":"private, no-store","content-type":"application/json"}}},"request":{"query":"\n\tmutation CreateNousContacter($nom: String!, $email: String!, $message: String! ) {\n\t\tcreateNousContacter(data: {nom: $nom, email: $email, message: $message}){id}}","variables":{"nom":"TESTname","email":"TESTmail","message":"TESTmessage"}}}

我的 get 查询都可以正常工作,但这是我编写的第一个突变,我不知道如何让它工作。

我的请求

import { request, gql } from 'graphql-request';
const graphqlAPI = process.env.NEXT_PUBLIC_GRAPHCMS_ENDPOINT;

export const nousContacter = async ({ nom, email, message }) => {
    const query = gql`
        mutation CreateNousContacter($nom: String!, $email: String!, $message: String!){
            createNousContacter(data: {nom: $nom, email: $email, message: $message}) {
              id
            }
          }`;
        await request(graphqlAPI, query, {nom, email, message});
};

在图形方面,我的模型的所有字段都是读/写的

额外问题

1- 每当我让我的突变工作时,我如何创建我的内容并将其直接放入已发布阶段?我还没有设法在图形的 API 操场上做到这一点

2- 我可以做我想做的事,我的字段是只读的吗?

【问题讨论】:

    标签: next.js graphql


    【解决方案1】:

    此消息“由于权限错误导致变异失败” 这意味着您授予了写入内容的权限,但是在写入之后,您正在尝试读取返回,但是您尝试读取的返回很可能被读取为 PUBLISHED。

    为您的模型授予另一个读取草稿的权限

    【讨论】:

      猜你喜欢
      • 2023-01-10
      • 2019-07-26
      • 2016-08-26
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      相关资源
      最近更新 更多