Google apps script 谷歌硬盘上的电报机器人发送的照片被裁剪了
我创建了一个电报机器人,将照片(当前为.jpg文件类型)发送到不同的命令。我之所以使用谷歌应用程序脚本,是因为我的照片存储在我的谷歌硬盘中,我认为使用一张表格来跟踪我的照片及其URL是个好主意 但是,机器人发送的照片会被裁剪。我通读了API,没有找到任何指定所需照片尺寸的内容。有人能解释一下吗?我怎样才能防止电报截取我的照片?或者,这是我照片的首选尺寸,这样就不会被裁剪了吗 更多信息: 我将我的照片保存在谷歌硬盘文件夹中,并手动创建了一个共享链接,然后将它们保存在我的电子表格中。假设我在ActiveSpreadsheet的单元格A1中有一个照片url,我的代码如下所示Google apps script 谷歌硬盘上的电报机器人发送的照片被裁剪了,google-apps-script,telegram-bot,Google Apps Script,Telegram Bot,我创建了一个电报机器人,将照片(当前为.jpg文件类型)发送到不同的命令。我之所以使用谷歌应用程序脚本,是因为我的照片存储在我的谷歌硬盘中,我认为使用一张表格来跟踪我的照片及其URL是个好主意 但是,机器人发送的照片会被裁剪。我通读了API,没有找到任何指定所需照片尺寸的内容。有人能解释一下吗?我怎样才能防止电报截取我的照片?或者,这是我照片的首选尺寸,这样就不会被裁剪了吗 更多信息: 我将我的照片保存在谷歌硬盘文件夹中,并手动创建了一个共享链接,然后将它们保存在我的电子表格中。假设我在Acti
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);
}
您需要注意
照片url的格式
您可能正在使用getUrl()
方法生成的url:
https://drive.google.com/file/d/GOOGLE_DRIVE_FILE_ID
这将发送一个裁剪过的图像
另一方面,使用以下url将发送不受信任的图像:
https://docs.google.com/uc?id=GOOGLE_DRIVE_FILE_ID
你能分享你用来做这件事的代码片段吗?你是如何将照片从驱动器传递到Bot的?@ADW我已经添加了源代码的主要部分,从api调用sendPhoto方法。我所有的照片尺寸都是320x225。稍后我会用不同尺寸的照片做一些测试。谢谢你的解决方案。起初它不工作,但后来我用“驱动器”取代了“文档”,现在它工作了。非常感谢。请问我如何能自己找到这样的信息?是否有我可以阅读的文档,或者仅仅是我需要自己学习的知识?这个具体问题花了我一些时间才弄清楚。我正在从事一个使用电报、FireStore和谷歌应用程序脚本的项目。边缘/连接是文档没有帮助/不够的地方。如果你正在做类似的事情,试着或只是打电话给我。我有一大堆我重复使用的代码片段。