Masahiro Okubo

graphql-clientでKeyError: key not found: “data”が出る

graphql-clientでKeyError: key not found: “data”が出る

Railsでwordpressからgraphql経由で記事取得しようとしたら、タイトルのエラーが発生しました

該当箇所は以下の部分で、おそらくschemaを読み込んでいると思うのですが、

Schema = GraphQL::Client.load_schema(HTTP)

なぜかdataがないです、というエラーが発生してます

queryを投げてdataがない、というのであれば理解できるのですが、query以前の問題だったので、
途中で解決は諦めて下記のようにhttpで対応する方針にした結果、すぐ解決できました🙌

query = <<-'GRAPHQL'
      query Posts {
        posts(first: 5) {
          edges {
            node {
              title
              excerpt
              slug
              date
              featuredImage {
                node {
                  sourceUrl
                }
              }
              categories {
                edges {
                  node {
                    name
                  }
                }
              }
            }
          }
        }
      }
    GRAPHQL
    uri = URI('https://hoge/graphql')
    res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
      req = Net::HTTP::Post.new(uri)
      req['Content-Type'] = 'application/json'
      # req['Authorization'] = "Bearer #{accessToken}"
      # The body needs to be a JSON string.
      req.body = JSON[{'query' => query}]
      puts(req.body)
      http.request(req)
    end
    puts(res.body)

参考記事

`fetch’: key not found: “data” (KeyError) : graphql-client error

KeyError: key not found: “data” #1956

GraphQL via HTTP in five ways: cURL, Python, JavaScript, Ruby and PHP


関連記事

copyright© 2016-2022 Masahiro Okubo