2016-09-19 95 views
0

我有superadmin访问域,我想使用Google Apps脚本创建日历资源。通过管理员权限(https://accounts.google.com)...But),我们可以在Google管理控制台中创建日历资源,但我想将其自动化,我检查了此页面(https://developers.google.com/admin-sdk/directory/v1/reference/resources/calendars/insert)..并将其改编为脚本,但是我得到了一个“错误的请求” 的错误。如何在Google域中创建日历资源?

这里有什么问题?

这是我的代码 -

function myFunction() { 
    var cus = 'email id'; 
    var res ={ 
    resource : 'Name of the resource', 
    resourceDescription : "Meeting Room", 
    resourceType : "Room" 
    } 
AdminDirectory.Resources.Calendars.insert(res, cus); 
}` 
+0

能否请您给一些更多的信息?你想要什么? –

+0

@SergeHendrickx更新了查询..请检查..让我知道如果您需要其他任何东西... – Kanchan

回答

0

的紫色部分通过Google Apps脚本创建新的资源,当你没有得到一个ID,你提供一个自己。

+0

是的..我的印象是一旦创建资源时会创建资源ID,而不是其他方式。 感谢您的帮助.. – Kanchan

1

我已经在Kanchan的代码中添加了几行代码,允许Google电子表格作为资源上传的源文件。

手册:

  1. 替换“的资源文件的ID” - 与您要使用

  2. 该脚本将不会从表的第一行读取电子表格的实际ID。您可以将它用于标题。我使用的列序列是:ResourceName,ResourceID,然后是ResourceType。示例文件是在这里:https://docs.google.com/spreadsheets/d/110UuIxsdJKWmff1RgMphcycbGOo_Ggrr1ON6PPj0tB4/

  3. 这是最好创建使用谷歌资源名称命名约定资源:https://support.google.com/a/answer/1033941

  4. RESOURCEID是您需要定义自己的字符串。我没有尝试使用相同的ID加载两个资源 - 我不知道如果你这样做会发生什么。

而现在的代码块:

function readwriteResources() { 

    var cus = 'my_customer'; 
    var sourcefileid = "id of the sourcefile"; 
    var spreadsheet = SpreadsheetApp.openById(sourcefileid); 
    var dataset = spreadsheet.getSheetByName('resources to load').getDataRange().getValues(); 

    for (i=1; i < dataset.length; i++) { 
    var res = { 
     resourceName : dataset[i][0], 
     resourceId : dataset[i][1], 
     resourceType : dataset[i][2] 
    } 

    AdminDirectory.Resources.Calendars.insert(res, cus);  
    }  
} 
+0

谢谢..它工作.. :) – Kanchan

+0

资源ID应该是唯一的..你不能两次使用相同的资源ID .. – Kanchan