将你的 DEV.TO 统计数据导入 Google Sheet

2025-06-10

将你的 DEV.TO 统计数据导入 Google Sheet

Google Sheets 是一款非常棒的电子表格程序。我经常用它来处理工作和个人事务。

我决定将 Dev.to 中的一些统计数据放入 Google 表格中,发现这很容易。

注意:不想写代码?点击此处获取

以下是您可以如何进行统计的方法。

步骤 1:获取 API 密钥

您可以在 Dev.To 的个人资料中找到它。请前往您的设置。

开发人员设置

您的 API 密钥将位于“帐户”下。

开发人员设置

获得发表的文章

API 很简单。您可以使用 Postman 之类的工具来测试,只需要输入 URL 和 API key:

https://dev.to/api/articles/me/published?per_page=50
Enter fullscreen mode Exit fullscreen mode

Postman 中的 Dev To API

如果你看到这个,说明你的 URL 成功了!你可以把per_page改成任何你想要的。

创建电子表格

在 Google 表格中创建一个如下所示的表格:

Postman 中的 Dev To API

这里有一张表,列出了

  • 标题
  • 发布
  • 总浏览量
  • 反应
  • 评论

这些都将由 API 自动填充。

单击工具->脚本编辑器以打开脚本编辑器。

Postman 中的 Dev To API

提取数据的代码

在脚本编辑器中,您将看到代码。

function myFunction() {

}
Enter fullscreen mode Exit fullscreen mode

我们将用我们的函数替换该函数。修改代码后,您将看到一个提示,要求您编辑项目名称。您可以在此处输入任何您想要的内容。

Postman 中的 Dev To API

接下来,我们要创建一个函数。该函数将获取我们刚刚创建的电子表格的第一个空行:

function getFirstEmptyRow() {
    var spr = SpreadsheetApp.getActiveSpreadsheet();
    var column = spr.getRange('A:A');
    var values = column.getValues(); // get all data in one call
    var ct = 0;
    while (values[ct][0] != "") {
        ct++;
    }
    return (ct);
}
Enter fullscreen mode Exit fullscreen mode

接下来,我们将创建一个函数来格式化时间,使其看起来更美观。API 中的时间戳很有用,但有点丑。这个函数解决了这个问题。

function formatDate(timestamp) {
    var year = timestamp.substring(0, 4);
    var month = timestamp.substring(5, 7);
    var day = timestamp.substring(8, 10);
    var newdate = month + "/" + day + "/" + year;
    return newdate;
}
Enter fullscreen mode Exit fullscreen mode

你会注意到这段代码大部分都是 JavaScript。我甚至没查任何资料就能构建它,看看它是否能在 Google 表格中运行。我猜想用 JavaScript 可以做很多事情。

最后,让我们放入获取统计数据的主要函数:

function getStats() {

    var options = {
        "access-control-allow-headers": "Content-Type",
        "api-key": "[YOUR API KEY]"
    }
    var header = {
        'headers': options
    }

    try {
        // make the API call
        var response = UrlFetchApp.fetch("https://dev.to/api/articles/me/published?per_page=500", header);
        // parse output as JSON
        var output = JSON.parse(response.getContentText());
        // grab the spreadsheet tab
        var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('[ TAB NAME ]');

        output.forEach(function(row, index) {
            sheet.getRange(index + 2, 1).setValue(row.title);
            sheet.getRange(index + 2, 2).setValue(formatDate(row.published_timestamp));
            sheet.getRange(index + 2, 3).setValue(row.page_views_count);
            sheet.getRange(index + 2, 4).setValue(row.positive_reactions_count);
            sheet.getRange(index + 2, 5).setValue(row.comments_count);
        });

    } catch (err) {
        throw new Error(err);
    }
}
Enter fullscreen mode Exit fullscreen mode

确保将 [TAB NAME] 替换为电子表格所在选项卡的名称。

此函数的作用:

  • 进行 API 调用
  • 解析返回的 JSON
  • 通过名称获取活动电子表格
  • 循环遍历每篇已发布的文章
  • 将每篇文章的值设置为 Google 表格中的一行

保存文件,然后从顶部选择函数( getStats )并运行它:

Postman 中的 Dev To API

第一次运行时,它会请求您的许可:

Postman 中的 Dev To API

授权后,脚本就会运行。它看起来应该像这样:

Postman 中的 Dev To API

恭喜!现在你可以排序、筛选,还可以进行一些很酷的电子表格操作了。

创建按钮

我想为此创建一个按钮,这样就不用每次都去脚本编辑器了。这很简单。

转到“插入”并选择“绘图”

Postman 中的 Dev To API

绘制某种按钮并保存它。

Postman 中的 Dev To API

现在,它将被插入到您的电子表格中。点击右上角的三个点,然后选择“分配脚本”。

Postman 中的 Dev To API

在下一个窗口中,输入getStats并保存。

现在,您可以随时通过按钮来刷新它。

你完成了!

因此在本教程中我们:

  • 获取 API 密钥
  • 测试了我们的 Dev.TO 网址
  • 创建电子表格
  • 编写代码以用统计数据填充电子表格
  • 建立一个按钮来更新它。

这里有很多很酷的功能可以做。你可以创建图表、进行分析等等。各种各样很酷的功能。

您可以在此处获取完整的源代码

如果你用到了这个功能,或者扩展了它,请告诉我你开发了什么!我很好奇 Dev.To 的作者们是如何运用这个功能的。

鏂囩珷鏉ユ簮锛�https://dev.to/pluralsight/pulling-your-dev-to-stats-into-a-google-sheet-56dh
PREV
顶级 Kubernetes 课程
NEXT
捐赠您未使用的 CPU 周期来对抗冠状病毒