0
我試圖用谷歌腳本更新域用戶,我通過Google Profile API成功檢索到用戶,但後來我需要調用更新操作,我需要發送Xml與我的修改。Google Apps腳本:如何編輯Xml以發送到配置文件API更新
我正在使用Xml服務,但他們似乎只是爲了閱讀XML。
如何更新我的Xml對象以將其發送到Profile API的更新操作?
這是代碼:
/**
* Script configuration
*/
var SCOPE = 'http://www.google.com/m8/feeds/';
var APPNAME = "profile";
var GET_URL = 'https://www.google.com/m8/feeds/profiles/domain/{domainName}/full/{userName}?v=3.0';
function updateContact(e) {
var domain = UserManager.getDomain();
GET_URL = GET_URL.replace("{domainName}", domain);
var user = UserManager.getUser(Session.getActiveUser());
var userName = user.getUserLoginId();
var user = getUser(userName);
if(user !== null)
{
//Update
updateUser(user, '344343','432432423','test','test');
}
}
function getUser(userName)
{
try
{
var response = UrlFetchApp.fetch(GET_URL.replace("{userName}",userName) , googleOAuth_('GET'));
var jsonObj = Xml.parse(response.getContentText())
var text = response.getContentText();
var entry = jsonObj.entry;
if(typeof(entry) !== 'undefined' && entry !== null)
{
return entry;
}
}
catch(ex)
{
}
return null;
}
function updateUser(userEntry, phone, mobile, position, city)
{
var editLink = '';
var linksLength = userEntry.link.length;
for(var i=0; i<linksLength; i++)
{
if(userEntry.link[i].rel === "edit") editLink = userEntry.link[i].href;
}
//This is where I don't know what to do, how to edit the user entry
var response = UrlFetchApp.fetch(editLink,googleOAuth_('PUT', xml.toString()));
}
您可以發佈一些您的嘗試代碼。代碼比語言更響亮。 – Srik 2013-03-22 11:49:57
我已更新我的文章 – Escobar5 2013-03-22 15:49:28
僅供參考由Romain Vialard提供的開源ProfilesApp庫,位於https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/profiles-services – 2013-03-23 14:25:28