2014-04-29 86 views
1

Hi im在Google Apps腳本中使用高級服務。更新Google Apps用戶的電話號碼

我試圖添加一個數字到用戶配置文件。

var userValue = '[email protected]'; 
var phoneValue = 017236233; 

    var users = AdminDirectory.Users.get(userValue); 

    for (var i = 0; i < users.length; i++) { 

    AdminDirectory.Users.update(users[i].phones[].primary, phoneValue); 

    } 

最後一部分是我不確定的。 「語法錯誤(第22行,文件」代碼「)」

回答

1

看更新方法的自動完成,你必須給它一個User resource和一個userKey(用戶主要電子郵件)。

Admin SDK Apps Script autocomplete

因此,這行代碼應該是:

AdminDirectory.Users.update(userResource, userPrimaryEmail); 

既然你只是想添加一個電話您的用戶資源只能包含這樣的:

var userResource = { 
    phones:[{ 
     value: phoneValue 
    }] 
} 

但是要注意這將更新整個手機列表並覆蓋較舊的值。

另外請注意,您正在使用的get方法不返回用戶資源列表,而是單個用戶資源。您可以使用相同的資源,更新它並將其發回。

你要找那麼這將是:

var userPrimaryEmail = '[email protected]'; 
var phoneValue = 017236233; 

var user = AdminDirectory.Users.get(userPrimaryEmail); 

// If user has no phones add a 'phones' empty list to the user resource 
if (! user.phones){ 
    user.phones = []; 
} 

user.phones.push(
    { 
    value: phoneValue, 
    type: "mobile" // Could be 'home' or 'work' of whatever is allowed 
    } 
) 

AdminDirectory.Users.update(user, userPrimaryEmail);