2013-03-21 5 views
0

도메인 사용자를 Google 스크립트로 업데이트하려고하는데 Google 프로필 API를 통해 사용자를 성공적으로 가져 왔지만 업데이트 작업을하고 내 수정 내용을 XML을 보내야합니다.Google Apps Script : 프로필 API 업데이트로 전송할 Xml을 편집하는 방법

저는 XML 서비스를 사용하고 있지만 xml을 읽는 것만 같습니다.

내 Xml 개체를 업데이트하여 프로필 API의 업데이트 작업으로 보내려면 어떻게해야합니까?

코드입니다 : Escobar5 @

/** 
* 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())); 
} 
+0

시도 코드를 게시 할 수 있습니까? 코드는 말보다 더 크게 말합니다. – Srik

+0

내 게시물을 코드 – Escobar5

+0

으로 업데이트했습니다. 참고 로맹 Vialard의 오픈 소스 ProfilesApp 라이브러리가 있습니다. https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/profiles-services –

답변