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
    的值。在这种情况下,无法正确显示图像文件。我认为需要修改端点
当这个包含修改点的变通方法是一个脚本时,它变成如下所示

示例脚本1: 在这个示例脚本中,从
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.
  • 在这种情况下,文件需要公开共享。请小心这个
参考资料:

不幸的是,我无法复制您的情况,即始终发送到电报的旧图像:。我为此道歉。我可以问一下复制您的情况的详细流程吗?谢谢您的回复。当我测试你的URL时,我可以看到你的上方图像。不幸的是,我看不到你较低的图像。如果我的理解不正确,请告诉我。谢谢你的回复。例如,幸运的是,当使用UrlFetchApp检索图像时,我可以看到上面的图像。如果在当前阶段,您要使用的API无法检索具有相同URL的最新图像,作为一种解决方法,在Google Drive上创建最新图像作为文件并发送图像的URL如何?但我不确定这是否是你所期望的方向。很抱歉,谢谢你的回复。首先,我深表歉意,我的建议对你的情况没有帮助。而且,我不得不为我糟糕的英语水平道歉。不幸的是,我无法理解
,但它只发送了它的缩略图,它不发送原始图像,它完全没有质量。
。我能问一下细节吗?谢谢你的回复。为了正确了解您在使用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.