Фото, отправленное ботом telegram с Google Drive, обрезано - PullRequest
1 голос
/ 22 января 2020

Я создал бота Telegram для отправки фотографий (в настоящее время в формате .jpg) различным командам. Я использую Google Apps Script, потому что мои фотографии хранятся на моем Google Диске, и я подумал, что было бы неплохо использовать Лист для отслеживания моих фотографий и их URL.

Однако фотографии, которые будучи отправленным ботом обрезаются. Я прочитал API и не нашел ничего, определяющего размеры необходимых фотографий. Может ли кто-нибудь пролить свет на это? Как я могу запретить Telegram обрезать мои фотографии? Или это предпочтительный размер моих фотографий, чтобы они не были обрезаны?

Дополнительная информация: я сохранил свои фотографии в папке на диске Google, вручную создал ссылку для обмена и сохранил их в своем электронные таблицы. Предположим, у меня есть URL фотографии в ячейке A1 ActiveSpreadsheet, мой код выглядит следующим образом

  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);
}

1 Ответ

1 голос
/ 24 января 2020

Вы должны быть осторожны с форматом photo_url.

. Возможно, вы используете URL, сгенерированный методом getUrl():

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

Это отправит обрезанное изображение.


С другой стороны, использование следующего URL отправит необрезанное изображение:

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