将你的 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
如果你看到这个,说明你的 URL 成功了!你可以把per_page改成任何你想要的。
创建电子表格
在 Google 表格中创建一个如下所示的表格:
这里有一张表,列出了
- 标题
- 发布
- 总浏览量
- 反应
- 评论
这些都将由 API 自动填充。
单击工具->脚本编辑器以打开脚本编辑器。
提取数据的代码
在脚本编辑器中,您将看到代码。
function myFunction() {
}
我们将用我们的函数替换该函数。修改代码后,您将看到一个提示,要求您编辑项目名称。您可以在此处输入任何您想要的内容。
接下来,我们要创建一个函数。该函数将获取我们刚刚创建的电子表格的第一个空行:
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);
}
接下来,我们将创建一个函数来格式化时间,使其看起来更美观。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;
}
你会注意到这段代码大部分都是 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);
}
}
确保将 [TAB NAME] 替换为电子表格所在选项卡的名称。
此函数的作用:
- 进行 API 调用
- 解析返回的 JSON
- 通过名称获取活动电子表格
- 循环遍历每篇已发布的文章
- 将每篇文章的值设置为 Google 表格中的一行
保存文件,然后从顶部选择函数( getStats )并运行它:
第一次运行时,它会请求您的许可:
授权后,脚本就会运行。它看起来应该像这样:
恭喜!现在你可以排序、筛选,还可以进行一些很酷的电子表格操作了。
创建按钮
我想为此创建一个按钮,这样就不用每次都去脚本编辑器了。这很简单。
转到“插入”并选择“绘图”:
绘制某种按钮并保存它。
现在,它将被插入到您的电子表格中。点击右上角的三个点,然后选择“分配脚本”。
在下一个窗口中,输入getStats并保存。
现在,您可以随时通过按钮来刷新它。
你完成了!
因此在本教程中我们:
- 获取 API 密钥
- 测试了我们的 Dev.TO 网址
- 创建电子表格
- 编写代码以用统计数据填充电子表格
- 建立一个按钮来更新它。
这里有很多很酷的功能可以做。你可以创建图表、进行分析等等。各种各样很酷的功能。
您可以在此处获取完整的源代码。
如果你用到了这个功能,或者扩展了它,请告诉我你开发了什么!我很好奇 Dev.To 的作者们是如何运用这个功能的。
鏂囩珷鏉ユ簮锛�https://dev.to/pluralsight/pulling-your-dev-to-stats-into-a-google-sheet-56dh