google-apps-script - 电报机器人从 Google Drive 发送的照片被裁剪

标签 google-apps-script telegram-bot

我创建了一个 Telegram 机器人来将照片(目前为 .jpg 文件类型)发送到不同的命令。我正在使用 Google Apps 脚本,因为我的照片存储在我的 Google Drive 中,我认为使用表格来跟踪我的照片及其 URL 是个好主意。

但是,机器人发送的照片被裁剪了。我通读了 API,但没有找到任何指定所需照片尺寸的信息。有人可以阐明这一点吗?如何防止 Telegram 裁剪我的照片?或者,这是我的照片应该采用的首选尺寸,这样它就不会被裁剪吗?

更多信息: 我将我的照片保存在谷歌驱动器文件夹中,并手动创建了一个共享链接并将它们保存在我的电子表格中。假设我在 ActiveSpreadsheet 的单元格 A1 中有一个照片 url,我的代码如下所示

  photo_url = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").getValue();
  sendPhoto(chatID,photo_url)

   function sendPhoto(id,photo_url) {
   var API_TOKEN = my_API_token;
   var payload = {
          'method': 'sendPhoto',
          'chat_id': String(id),
          'photo': photo_url,
        }

        var data = {
          "method": "post",
          "payload": payload
        }
   UrlFetchApp.fetch('https://api.telegram.org/bot' + API_TOKEN + '/', data);
}

最佳答案

您需要注意 photo_url 的格式。

您可能正在使用 getUrl() 方法生成的 url:

https://drive.google.com/file/d/GOOGLE_DRIVE_FILE_ID

这将发送裁剪后的图像。


另一方面,使用以下 url 将发送未截断的图像:

https://docs.google.com/uc?id=GOOGLE_DRIVE_FILE_ID

关于google-apps-script - 电报机器人从 Google Drive 发送的照片被裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59862570/

相关文章:

google-apps-script - 使用 Google Apps 脚本在 Google 表单中的多项选择项中插入图像

javascript - 如何在谷歌应用程序脚本中使用 if then ?

javascript - 使用 Google App 脚本将数据从一张纸复制到另一张纸时执行速度缓慢

javascript - Node Telegraf 回调按钮

Python Telegram 机器人 - 发送图像

google-apps-script - CacheService使用GAS提供的缓存大小是多少

javascript - 如何将每张谷歌幻灯片转换为 PDF 和 JPG?

python-3.x - 如何更改音频标题?

Python-telegram-bot - 命令行处理程序未被调用

javascript - 重定向用户下载,就像看不到一样