Сценарий Google Apps: как отредактировать XML для отправки обновления API профиля

Я пытаюсь обновить пользователя домена с помощью сценариев Google, я успешно получаю пользователя через API профиля Google, но затем мне нужно вызвать операцию обновления и отправить Xml с моими изменениями.

Я работаю с Xml Services, но они, похоже, предназначены только для чтения 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()));
}

person Escobar5    schedule 21.03.2013    source источник
comment
Можете ли вы опубликовать код вашей попытки. Код говорит громче слов.   -  person Srik    schedule 22.03.2013
comment
Я обновил свой пост с кодом   -  person Escobar5    schedule 22.03.2013
comment
К вашему сведению, здесь есть библиотека ProfilesApp с открытым исходным кодом от Ромена Виалара sites.google.com/site/scriptsexamples/   -  person Peter H    schedule 23.03.2013
comment
Это именно то, что мне нужно, можете ли вы установить это как ответ, чтобы я мог установить его как правильный?   -  person Escobar5    schedule 27.03.2013
comment
Сделанный. Пожалуйста, примите ответ или уточните вопрос.   -  person Peter H    schedule 02.07.2013


Ответы (1)


Извините, @Escobar5, я не получил ваше обновление. Здесь есть библиотека ProfilesApp с открытым исходным кодом от Romain Vialard (и немного от меня) https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/profiles-services

person Peter H    schedule 06.05.2013