Google apps script 如何获取GAS项目中各个脚本的ID?
我只是希望能够以blob的形式浏览各个gs文件,以总结有关整个项目的一些信息。我想我可以用驱动器api实现这一点,但我需要先了解各个文件。解决方案: 是的,您可以使用驱动器API执行此操作: 首先,您需要使用Google apps script 如何获取GAS项目中各个脚本的ID?,google-apps-script,Google Apps Script,我只是希望能够以blob的形式浏览各个gs文件,以总结有关整个项目的一些信息。我想我可以用驱动器api实现这一点,但我需要先了解各个文件。解决方案: 是的,您可以使用驱动器API执行此操作: 首先,您需要使用DriveApp.getFilesByType(“application/vnd.google apps.script”)获取驱动器中的应用程序脚本项目列表 样本列表: { "kind": "drive#fileList", "etag&
DriveApp.getFilesByType(“application/vnd.google apps.script”)
获取驱动器中的应用程序脚本项目列表
样本列表:
{
"kind": "drive#fileList",
"etag": "\"kjsas92/f3zGUXczKMxEB_9ZTMRFOF3d1ZU\"",
"selfLink": "https://www.googleapis.com/drive/v2/files?q=mimeType%3D'application/vnd.google-apps.script'+and+'me'+in+owners",
"items": [
{
"kind": "drive#file",
"id": "1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D",
"etag": "\"kjsas92/MTM3MDk3ODY5ODQyNg\"",
"selfLink": "https://www.googleapis.com/drive/v2/files/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D",
"alternateLink": "https://script.google.com/a/google.com/d/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D/edit?usp=drivesdk",
"iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_11_script_list.png",
"title": "Mail merge",
"mimeType": "application/vnd.google-apps.script",
"description": "",
"labels": {
"starred": false,
"hidden": false,
"trashed": true,
"restricted": false,
"viewed": true
},
"createdDate": "2013-06-11T19:24:45.188Z",
"modifiedDate": "2013-06-11T19:24:58.426Z",
"modifiedByMeDate": "2013-06-11T19:24:58.426Z",
"lastViewedByMeDate": "2013-06-11T19:24:58.426Z",
"parents": [
{
"kind": "drive#parentReference",
"id": "0APdyIOzo7bWDUk9PVA",
"selfLink": "https://www.googleapis.com/drive/v2/files/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D/parents/0APdyIOzo7bWDUk9PVA",
"parentLink": "https://www.googleapis.com/drive/v2/files/0APdyIOzo7bWDUk9PVA",
"isRoot": true
}
],
"exportLinks": {
"application/json": "https://script.google.com/feeds/download/export?id=1234567890abcefghijklmnopqrstuvwxyz&format=json"
},
"userPermission": {
"kind": "drive#permission",
"etag": "\"kjsas92/259X2r5DVstv1CcIQTjt_RQPSW8\"",
"id": "me",
"selfLink": "https://www.googleapis.com/drive/v2/files/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D/permissions/me",
"role": "owner",
"type": "user"
},
"quotaBytesUsed": "0",
"ownerNames": [
"John Doe"
],
"owners": [
{
"kind": "drive#user",
"displayName": "John Doe",
"picture": {
"url": "https://lh4.googleusercontent.com/-yd1rIb6Pe2Y/AAAAAAAAAAI/AAAAAAAAAGs/PP5vTuZonik/s64/photo.jpg"
},
"isAuthenticatedUser": true,
"permissionId": "1234566789"
}
],
"lastModifyingUserName": "John Doe",
"lastModifyingUser": {
"kind": "drive#user",
"displayName": "John Doe",
"picture": {
"url": "https://lh4.googleusercontent.com/-yd1rIb6Pe2Y/AAAAAAAAAAI/AAAAAAAAAGs/PP5vTuZonik/s64/photo.jpg"
},
"isAuthenticatedUser": true,
"permissionId": "1234566789"
},
"editable": true,
"writersCanShare": true,
"shared": false,
"explicitlyTrashed": true,
"appDataContents": false
}
]
}
{
"files": [
{
"id":"9basdfbd-749a-4as9b-b9d1-d64basdf803",
"name":"Code",
"type":"server_js",
"source":"function doGet() {\n return HtmlService.createHtmlOutputFromFile(\u0027index\u0027);\n}\n"
},
{
"id":"3asf7c0d-1afb-4a9-8431-5asdfc79e7ae",
"name":"index",
"type":"html",
"source":"\u003chtml\u003e\n \u003cbody\u003e\n Hello, world!\n \u003c/body\u003e\n\u003c/html\u003e"
}
]
}
然后,每个单独的项目都有exportLinks
属性,该属性具有指向内部脚本的链接。您需要获取该URL以获得包含各个文件和脚本ID的JSON响应
示例JSON:
{
"kind": "drive#fileList",
"etag": "\"kjsas92/f3zGUXczKMxEB_9ZTMRFOF3d1ZU\"",
"selfLink": "https://www.googleapis.com/drive/v2/files?q=mimeType%3D'application/vnd.google-apps.script'+and+'me'+in+owners",
"items": [
{
"kind": "drive#file",
"id": "1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D",
"etag": "\"kjsas92/MTM3MDk3ODY5ODQyNg\"",
"selfLink": "https://www.googleapis.com/drive/v2/files/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D",
"alternateLink": "https://script.google.com/a/google.com/d/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D/edit?usp=drivesdk",
"iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_11_script_list.png",
"title": "Mail merge",
"mimeType": "application/vnd.google-apps.script",
"description": "",
"labels": {
"starred": false,
"hidden": false,
"trashed": true,
"restricted": false,
"viewed": true
},
"createdDate": "2013-06-11T19:24:45.188Z",
"modifiedDate": "2013-06-11T19:24:58.426Z",
"modifiedByMeDate": "2013-06-11T19:24:58.426Z",
"lastViewedByMeDate": "2013-06-11T19:24:58.426Z",
"parents": [
{
"kind": "drive#parentReference",
"id": "0APdyIOzo7bWDUk9PVA",
"selfLink": "https://www.googleapis.com/drive/v2/files/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D/parents/0APdyIOzo7bWDUk9PVA",
"parentLink": "https://www.googleapis.com/drive/v2/files/0APdyIOzo7bWDUk9PVA",
"isRoot": true
}
],
"exportLinks": {
"application/json": "https://script.google.com/feeds/download/export?id=1234567890abcefghijklmnopqrstuvwxyz&format=json"
},
"userPermission": {
"kind": "drive#permission",
"etag": "\"kjsas92/259X2r5DVstv1CcIQTjt_RQPSW8\"",
"id": "me",
"selfLink": "https://www.googleapis.com/drive/v2/files/1vi0uwcMdHsRv1YFtgq7XdiTGSdqgjIYpdQNC0A_Udn79LOhH0vYL132D/permissions/me",
"role": "owner",
"type": "user"
},
"quotaBytesUsed": "0",
"ownerNames": [
"John Doe"
],
"owners": [
{
"kind": "drive#user",
"displayName": "John Doe",
"picture": {
"url": "https://lh4.googleusercontent.com/-yd1rIb6Pe2Y/AAAAAAAAAAI/AAAAAAAAAGs/PP5vTuZonik/s64/photo.jpg"
},
"isAuthenticatedUser": true,
"permissionId": "1234566789"
}
],
"lastModifyingUserName": "John Doe",
"lastModifyingUser": {
"kind": "drive#user",
"displayName": "John Doe",
"picture": {
"url": "https://lh4.googleusercontent.com/-yd1rIb6Pe2Y/AAAAAAAAAAI/AAAAAAAAAGs/PP5vTuZonik/s64/photo.jpg"
},
"isAuthenticatedUser": true,
"permissionId": "1234566789"
},
"editable": true,
"writersCanShare": true,
"shared": false,
"explicitlyTrashed": true,
"appDataContents": false
}
]
}
{
"files": [
{
"id":"9basdfbd-749a-4as9b-b9d1-d64basdf803",
"name":"Code",
"type":"server_js",
"source":"function doGet() {\n return HtmlService.createHtmlOutputFromFile(\u0027index\u0027);\n}\n"
},
{
"id":"3asf7c0d-1afb-4a9-8431-5asdfc79e7ae",
"name":"index",
"type":"html",
"source":"\u003chtml\u003e\n \u003cbody\u003e\n Hello, world!\n \u003c/body\u003e\n\u003c/html\u003e"
}
]
}
参考资料:
您所说的“单个脚本的ID…”是什么意思?还可以显示您尝试的内容,并按照中的建议添加对您的搜索工作的简要描述。我会使用应用程序脚本API来实现这一点,很容易获得所有文件的内容和JSON格式。如何使用DriveList方法获得某一时间所有文件的列表谢谢!我明天试试这个。