npm 包 gatsby-source-google-sheet 使用教程

阅读时长 6 分钟读完

在前端开发中,有时需要使用 Google Sheet 中存储的数据来展示网页内容,比如制作一个有关排名的网页。而使用 npm 包 gatsby-source-google-sheet 可以轻松地将 Google Sheet 中的数据导入到 Gatsby 的 GraphQL 查询中,从而方便地在 React 组件中使用这些数据。

安装

在使用 gatsby-source-google-sheet 之前,需要先安装 Gatsby 和 gatsby-source-google-sheet:

使用

使用 gatsby-source-google-sheet 的步骤如下:

  1. 创建一个 Google Sheet 文档,并设置为“公开可访问”。
  2. 生成“Google Sheets API”凭据,将其保存到项目目录中。
  3. 在 gatsby-config.js 中添加 gatsby-source-google-sheet 插件和相应的配置。

具体步骤如下:

1. 创建 Google Sheet 文档

打开 Google Drive 并新建一个 Google Sheet 文档。进入文档后点击“共享”按钮,将该文档设置为“公开可访问”。

2. 生成 API 凭据

进入 Google Cloud Console,选择一个项目并启用 Google Sheets API。然后生成一个“服务帐号”并下载 JSON 文件,将其保存到项目目录中。

3. 添加插件和配置

在 gatsby-config.js 中添加 gatsby-source-google-sheet 插件和相应的配置:

-- -------------------- ---- -------
-
    -------- -----------------------------
    -------- -
        -- ---- -- --- ---- ---- ---------- --- --- ---
        ------------ -----------------------------------

        -- --- -- -- --- ------ ----- --------
        --------------- ----------------------------

        -- --- ---- -- --- ----- ---------- --- ----
        --------------- ----------------------------
    --
--

然后运行 Gatsby 开发服务器,并访问 http://localhost:8000/___graphql 打开 GraphQL 导航器,查看导入数据的情况。在 GraphQL 导航器中,可以执行以下查询:

-- -------------------- ---- -------
-
    -------------- -
        ----- -
            ---- -
                ---------
                -------
                -------
                -------
            -
        -
    -
-

其中 allGoogleSheet 是一个自动生成的 GraphQL 类型,可以查看所有行与列的数据。

示例代码

下面是一个简单的 React 示例组件,该组件使用 gatsby-source-google-sheet 导入 Google Sheet 中的排名数据,然后在表格中展示该数据。

-- -------------------- ---- -------
------ ----- ---- --------
------ - -------- -------------- - ---- ---------

----- ------------ - -- ---- -- -- -
    ------ -
        -------
            -------
                ----
                    -------------
                    -------------
                    --------------
                -----
            --------
            -------
                ------------------------------------- ------ -- -
                    --- --------------------------
                        ---------- - -------
                        ----------------------------
                        ----------------------------
                    -----
                ---
            --------
        --------
    --
--

------ ------- -- -- -
    ----- - -------------- - - -----------------------
        -
            -------------- -
                ----- -
                    ---- -
                        ---------
                        -------
                        -------
                    -
                -
            -
        -
    ---

    ------ -
        -----
            ----------------
            ------------- --------------------- --
        ------
    --
--

在上面的代码中,通过使用 useStaticQuery 钩子来从 GraphQL 中获取数据,然后将数据传递给 RankingTable 组件,该组件使用 map 函数将数据渲染成表格中的行数据。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672eb0520b171f02e1eb4

纠错
反馈