Google apps script 将电子表格图形的图像发送到电报时,发送的图像始终相同
我试图发送给电报的图形如下: 我用于运输的公式如下:Google apps script 将电子表格图形的图像发送到电报时,发送的图像始终相同,google-apps-script,google-sheets,charts,google-visualization,telegram,Google Apps Script,Google Sheets,Charts,Google Visualization,Telegram,我试图发送给电报的图形如下: 我用于运输的公式如下: function EnviarTelegram(botSecret, chatId, photoUrl, caption) { var response = UrlFetchApp.fetch("https://api.telegram.org/bot" + botSecret + "/sendPhoto?caption=" + encodeURIComponent(caption) + &q
function EnviarTelegram(botSecret, chatId, photoUrl, caption) {
var response = UrlFetchApp.fetch("https://api.telegram.org/bot" + botSecret + "/sendPhoto?caption=" + encodeURIComponent(caption) + "&photo=" + encodeURIComponent(photoUrl) + "&chat_id=" + chatId + "&parse_mode=HTML");
}
但当我添加图形链接时,它不会发送更新版本,而是在我第一次发布图像时发送图像的第一个版本
我使用的公式如下所示:
=ENVIARTELEGRAM(W1,W2,"https://docs.google.com/spreadsheets/d/e/2PACX-1vRYIAQWrNu1P9fc0CzBXkMb2jsOCKhrRMoakqeq73BVWHNa6ukJHHK00ZvfNi5QQB2Pr7ACdw3yCBwV/pubchart?oid=1479223143&format=image",W19)
正确的图像:
始终发送到电报的旧图像:
有没有办法强制更新发送到电报的此图像?解决方法:
- 根据评论中的讨论,我想提出以下解决方法。
- 幸运的是,当使用UrlFetchApp检索图像时,我可以在您的问题中看到上面的图像。我想这可能是可以使用的。如果在当前阶段,您想要使用的API无法检索具有相同URL的最新图像,作为一种解决方法,我想在Google Drive上创建一个文件形式的最新图像,并发送图像的URL
- 从您的评论中,我还确认您使用了
作为https://drive.google.com/file/d/1zdEBhYircl9-P9Wtx-QyTgmxgskGLcEq/
的值。在这种情况下,无法正确显示图像文件。我认为需要修改端点photoUrl
https://docs.google.com/spreadsheets/d/e/2PACX-###/pubchart?oid=###&format=image
图像被创建为文件,然后通过修改图像大小检索缩略图链接
在使用此脚本之前
示例脚本2:
在这个示例脚本中,从https://docs.google.com/spreadsheets/d/e/2PACX-###/pubchart?oid=###&format=image
图像被创建为一个文件,然后,该文件被公开共享,并检索webContentLink
const url = "https://docs.google.com/spreadsheets/d/e/2PACX-1vRYIAQWrNu1P9fc0CzBXkMb2jsOCKhrRMoakqeq73BVWHNa6ukJHHK00ZvfNi5QQB2Pr7ACdw3yCBwV/pubchart?oid=1479223143&format=image";
const res = UrlFetchApp.fetch(url);
const file = DriveApp.createFile(res.getBlob());
file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
const outputUrl = "https://drive.google.com/uc?export=download&id=" + file.getId();
console.log(outputUrl) // You can see the link at the log.
- 在这种情况下,文件需要公开共享。请小心这个
,但它只发送了它的缩略图,它不发送原始图像,它完全没有质量。
。我能问一下细节吗?谢谢你的回复。为了正确了解您在使用Google Drive上的文件时的情况,您是否可以添加用于复制问题的脚本?通过这个,我想确认一下。太好了@Brondby如果感谢您的回复和测试。我很高兴你的问题解决了。也谢谢你。
const url = "https://docs.google.com/spreadsheets/d/e/2PACX-1vRYIAQWrNu1P9fc0CzBXkMb2jsOCKhrRMoakqeq73BVWHNa6ukJHHK00ZvfNi5QQB2Pr7ACdw3yCBwV/pubchart?oid=1479223143&format=image";
const res = UrlFetchApp.fetch(url);
const file = DriveApp.createFile(res.getBlob());
file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
const outputUrl = "https://drive.google.com/uc?export=download&id=" + file.getId();
console.log(outputUrl) // You can see the link at the log.