网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

如何使用自定义函数将实时加密货币数据添加到 Google Sheets 中?

更新时间:2026年03月27日   作者:spoto   标签(Tag):

通过使用基于云的JavaScript平台——Google Apps Script,以及Live Coin Watch加密货币数据API,本文展示了如何将实时加密货币数据整合到Google Workspace中的电子表格程序中。
Sheets在功能上与Microsoft Excel非常相似,可以导入和导出多种文件格式,包括.xls(Microsoft Office 95及更高版本)、.xlsx、.xlsm、.xlt、.xltx、.xltm、.ods、.csv、.tsv、.txt以及.tab等文件格式。

问题陈述

加密货币的数据是去中心化的,而加密货币价格的波动性则给交易者带来了难以理解的挑战。他们很难完全理解市场状况。 为了做出明智的决策,交易者需要获得可靠的实时数据来源,以便根据自己持有的加密货币资产当前的价值来进行计算与预测。 这些计算和预测对于做出明智的决策以及调整投资组合来说至关重要。 不过,像 Google Sheets 这样的传统工具可能无法提供足够高的准确性和数据可用性,从而无法应对动态变化的加密货币市场。

如何将实时加密货币数据添加到 Google Sheets中,使用自定义函数的方法如下:

步骤1:请创建一个免费账户,然后从Live Coin Watch处获取一个API密钥。


步骤2:使用该链接打开一个新的或现有的 Google Sheets 文档。

步骤3:请选择相应的菜单选项。扩展功能 > 应用程序脚本要创建一个新的与该表格文档相关的Apps Script项目。

步骤4:请将默认脚本的名称重新命名。Code.gs to getRate.gs对于我们新的功能来说getRate()

步骤5:请将以下代码粘贴进去:getRate.gs在第2行中,请输入来自Live Coin Watch的API密钥。

函数 getRate(code) {

var key = “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”; // 在此处输入您的API密钥

var code_formatted = code.toUpperCase().split(" ").join(""); // 自定义格式化的函数,用于处理输入代码。

var fiat = “USD”; //请输入您所在国家的货币代码

// 构建HTTP请求

var data = {

“货币”:法定货币。

“code”:以代码格式表示的。

“meta”:true

    }

var payload = JSON.stringify(data);

var headers = {

“内容类型”:”application/json; charset=UTF-8”

‘x-api-key’:密钥

    };

var url = ‘https://api.livecoinwatch.com/coins/single’;

var options = {

‘method’: ‘post’, //指定HTTP POST方法

‘headers’: 标题信息。

“有效载荷”:即实际携带或传送的内容/数据。

    };

// 存储从API请求中获得的响应结果

var response = UrlFetchApp.fetch(url, options);

// 成功

// 将响应结果转换为JSON对象格式

var json = response.getContentText();

var coinjson = JSON.parse(json);

// 从 coinjson 对象中存储汇率信息

rate = coinjson.rate;

// 返回到单元格

返程率;

}

那个getRate()该函数接受一个加密货币代码作为输入,然后对代码进行字符串处理,将其格式化为大写形式,并去除其中的空格。货币类型被设置为“USD”,但也可以更改为其他货币代码。

该函数会向目标服务器发送一个HTTP POST请求。硬币/单个通过使用端点来实现这一目标。UrlFetchApp在 Google Apps Script 中,该请求包含指定的货币代码和 API 密钥。API 的响应会被处理并存储为 JSON 对象,其中包含了所指定加密货币的汇率信息,这些信息会被保存到一个名为“变量”的字段中。利率该函数的最后一步是返回汇率(价格)作为输出结果。
步骤6:保存你的项目,然后点击确定。跑吧。当系统提示您接受所需的权限时,请选择相应的选项。审核权限 > 请前往“我的项目”页面(该页面处于不安全状态)。 > 允许。这个授权流程将使您的项目能够与外部服务进行交互(例如 Live Coin Watch API)。
 

步骤7:使用菜单选项来格式化单元格或列。格式 > 自定义数字格式用于设置货币符号以及小数位的个数。


步骤8:在 Live Coin Watch 中,输入任意一种加密货币的代码所对应的公式名称,例如:=getRate("btc")以比特币来偿还价格,或者=getRate("shib")对于Shiba Inu来说,请按回车键。


在 Live Coin Watch 上,可以找到某枚硬币的详细信息。该信息位于其价格页面URL的末尾,就在硬币名称之后。例如:


步骤9:再添加另一个脚本吧。getVolume.gs并创建一个getVolume()该函数用于返回该货币在24小时内的交易量。

函数 getVolume(code) {

var key = “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”; // 在此处输入API密钥

var code_formatted = code.toUpperCase().split(" ").join(""); // 自定义格式函数,用于处理输入代码。

var fiat = “USD”; //请输入您所在国家的货币代码

var data = {

“货币”:法定货币。

“code”:以代码格式表示的。

“meta”:true

    }

var payload = JSON.stringify(data);

var headers = {

“内容类型”:application/json;字符集=UTF-8

‘x-api-key’:密钥

    };

var url = ‘https://api.livecoinwatch.com/coins/single’;

var options = {

“方法”:POST

‘headers’: 标题信息。

“有效载荷”:即实际可以携带的物品或数据。

    };

var response = UrlFetchApp.fetch(url, options);

var json = response.getContentText();

var coinjson = JSON.parse(json);

volume = coinjson.volume;

返回的体积;

}


那个getVolume()该函数接受一个加密货币代码作为输入,然后对代码进行字符串处理,将其转换为大写形式,并去除其中的空格。货币类型被设置为“USD”,但也可以更改为其他货币代码。

该函数会向目标服务器发送一个HTTP POST请求。硬币/单个通过使用 Google Apps Script 中的 UrlFetchApp 类来实现这一功能。请求头中包含了指定的货币代码和 API 密钥。从 API 返回的响应会被处理并存储为 JSON 对象,其中包含了指定加密货币的交易量,该数据会被存储在一个名为“volume”的变量中。体积/数量该函数的最后一步是返回计算出的交易量作为输出结果。

示例用法:
请打电话吧。getVolume()从单元格中调用自定义函数=getVolume("btc")即恢复比特币的24小时交易量。
 


步骤10:再添加另一个脚本吧。getLink.gs通过该功能,可以将链接返回到Live Coin Watch上该货币的列表页面。getLink()

函数 getLink(code) {

var key = “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”; // 在此处输入API密钥

var code_formatted = code.toUpperCase().split(" ").join(""); // 自定义格式化的函数,用于处理输入代码。

var fiat = “USD”; //请输入您所在国家的货币代码

var data = {

“货币”:法定货币。

“code”:以代码格式表示的。

“meta”:true

    }

var payload = JSON.stringify(data);

var headers = {

“内容类型”:application/json;字符集=UTF-8

‘x-api-key’:密钥

    };

var url = ‘https://api.livecoinwatch.com/coins/single’;

var options = {

“方法”:POST

‘headers’: 标题信息。

“有效载荷”:即实际可以携带的物品或数据。

    };

var response = UrlFetchApp.fetch(url, options);

var json = response.getContentText();

var coinjson = JSON.parse(json);

name = coinjson.name;

var nameTrim = name.split(" ").join("");

var url = “https://www.livecoinwatch.com/price” + nameTrim + “-” + code_formatted;

返回 URL:

}


那个getLink()该函数接受一个加密货币代码作为输入,然后对代码进行字符串处理,将其格式化为大写形式,并去除其中的空格。货币类型被设置为“USD”,但也可以更改为其他货币代码。

该函数会向目标服务器发送一个HTTP POST请求。硬币/单个通过使用端点来实现这一目标。UrlFetchApp在 Google Apps Script 中,该请求包含指定的货币代码和 API 密钥。API 的响应会被处理并存储为 JSON 对象,其中,所指定的加密货币的名称会被保存到名为“加密货币名称”的变量中。名字该函数利用货币的名称和代码来构建URL,并将生成的URL作为输出返回。
示例用法:
调用该函数吧。getLink("shib")请返回Live Coin Watch上关于Shiba Inu币的页面链接。


您可以创建类似的函数,用来显示由这些函数返回的各种数据元素。硬币/单个以及来自Live Coin Watch API的其他端点信息。
 

步骤11:请创建一个名为“script_name”的脚本。addRow.gs对于一个新的函数来说addRow()。

函数 addRow() {

var key = “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”; // 在此处输入API密钥

var code = “BTC” //请输入您的加密货币或代币的编码。

var fiat = “USD”; //请输入您所在国家的货币代码

var data = {

“货币”:法定货币。

“code”:代码。

“meta”:true

    }

var payload = JSON.stringify(data);

var headers = {

“内容类型”:”application/json; charset=UTF-8”

‘x-api-key’:密钥

    };

var url = ‘https://api.livecoinwatch.com/coins/single’;

var options = {

“方法”:POST

‘headers’: 标题信息。

“有效载荷”:有效载荷

    };

var response = UrlFetchApp.fetch(url, options);

var json = response.getContentText();

var coinjson = JSON.parse(json);

name = coinjson.name;

rate = coinjson.rate;

volume = coinjson.volume;

//生成时间戳

var timestamp = new Date().toLocaleString().replace(',', '');

var sheet = SpreadsheetApp.getActiveSheet();

sheet.appendRow([timestamp, name, code, "$" + rate, "$" + volume, getLink(code)]);

}


那个addRow()该函数用于获取指定加密货币的最新信息。默认情况下,该函数的输入参数值为“BTC”,而输出的法定货币单位则默认为“USD”。

该函数会向目标服务器发送一个HTTP POST请求。硬币/单个通过使用 Google Apps Script 中的 UrlFetchApp 类,可以获取指定加密货币的名称、汇率以及交易量。在请求头中需要包含指定的货币代码和 API 密钥。从 API 返回的响应数据会被处理并存储为 JSON 对象,从中可以提取出所需的信息。

那个addRow()然后,该函数会在当前活动的电子表格中添加一个新行,其中包含了当前的时间戳、加密货币的名称、代码、汇率、交易量,以及链接到Live Coin Watch网站上的该加密货币相关信息的URL。这个URL是通过调用我们的相关函数来获取的。getLink()该函数以加密货币代码作为输入参数来运行。
步骤12:在 Apps Script 的项目视图中,导航到“Triggers”视图(时钟图标),然后点击该按钮。+ 添加触发条件点击按钮。选择相应的功能。addRow()请选择事件来源。时间驱动请选择基于时间的触发方式:计时器请选择分钟间隔:每分每秒。


步骤13:根据个人喜好,在表格中添加一列用于标注数据列的名称。然后,从菜单选项中插入图表到该工作表中。插入 > 图表图表类型:散点图请设置一下吧。X轴和Y轴针对时间戳和速率列的范围2:1000同时,还需要进行相应的调整。垂直轴所期望的价格范围的限制。

您可以通过点击“触发器”页面上“基于时间的触发器”右侧的三个点来查看每个执行的详细信息,然后选择相应的选项。处决选项。


步骤14:再添加另一个脚本吧。convertCrypto.gs并创建一个convertCrypto()这是一种用于在不同加密货币之间进行转换的函数。

函数 `convertCrypto` 的功能是:将 `base` 货币转换为 `target` 货币,同时处理指定的金额。

var key = “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”; // 在此处输入您的API密钥

var base_formatted = base.toUpperCase().split("").join(""); // 将自定义函数的结果格式化为字符串。

var target_formatted = target.toUpperCase().split(" ").join(""); // 自定义格式函数,用于处理输入内容

var data = {

“货币”:”USD”

“code”:基础格式。

“meta”:true

    }

var payload = JSON.stringify(data);

var headers = {

“内容类型”:application/json;字符集=UTF-8

‘x-api-key’:密钥

    };

var url = ‘https://api.livecoinwatch.com/coins/single’;

var options = {

“方法”:POST

‘headers’: 标题信息。

“有效载荷”:即实际可以携带的物品或数据。

    };

var response = UrlFetchApp.fetch(url, options);

var json = response.getContentText();

var coinjson = JSON.parse(json);

var baseRate = coinjson.rate;

var baseCost = baseRate * amount;

data = {

“货币”:”USD”

“code”:目标格式化的结果。

“meta”:true

    }

payload = JSON.stringify(data);

headers = {

“内容类型”:application/json;字符集=UTF-8

‘x-api-key’:密钥

    };

url = ‘https://api.livecoinwatch.com/coins/single’;

选项 = {

“方法”: “post”

‘headers’: 标题信息。

“有效载荷”:即实际可以携带的物品或数据。

    };

response = UrlFetchApp.fetch(url, options);

json = response.getContentText();

targetjson = JSON.parse(json);

var targetRate = targetjson.rate;

var targetAmount = baseCost / targetRate;

返回目标金额。

}


那个convertCrypto()该函数接收三个参数:基础加密货币、目标加密货币,以及需要转换的基础加密货币的数量。API密钥被存储在请求头中,而基础加密货币和目标加密货币则被格式化为适合用于API请求的形式。之后,该函数会向Live Coin Watch API端点发送两次HTTP请求。硬币/单个该函数可以获取基础加密货币和目标加密货币之间的汇率。基础汇率用于确定基础加密货币以美元表示的价值,而目标汇率则用于将基础加密货币的价值转换为目标加密货币的价值。最后,该函数会返回目标加密货币经过转换后的金额。
考试

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料