Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google应用程序脚本:如何编辑Xml以发送到配置文件API更新_Xml_Google Apps Script_Google Profiles Api - Fatal编程技术网

Google应用程序脚本:如何编辑Xml以发送到配置文件API更新

Google应用程序脚本:如何编辑Xml以发送到配置文件API更新,xml,google-apps-script,google-profiles-api,Xml,Google Apps Script,Google Profiles Api,我正在尝试用google脚本更新一个域用户,我正在通过google Profile API成功地检索该用户,但是我需要调用更新操作,我需要发送修改后的Xml 我正在使用Xml服务,但它们似乎只是用于读取Xml 如何更新Xml对象以将其发送到Profile API的更新操作 代码如下: /** * Script configuration */ var SCOPE = 'http://www.google.com/m8/feeds/'; var APPNAME = "profile"; var

我正在尝试用google脚本更新一个域用户,我正在通过google Profile API成功地检索该用户,但是我需要调用更新操作,我需要发送修改后的Xml

我正在使用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()));
}
/**
*脚本配置
*/
var范围=http://www.google.com/m8/feeds/';
var APPNAME=“profile”;
var GET_URL='0https://www.google.com/m8/feeds/profiles/domain/{domainName}/full/{userName}?v=3.0';
函数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(用户名);
如果(用户!==null)
{
//更新
updateUser(用户'344343','432432423','test','test');
}
}
函数getUser(用户名)
{
尝试
{
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)
{
返回条目;
}
}
捕获(ex)
{
}
返回null;
}
功能更新器(用户输入、电话、手机、位置、城市)
{
var editLink='';
var linksLength=userEntry.link.length;

对于(var i=0;iSorry@Escobar5,我没有收到您的更新。有一个由Romain Vialard编写的开源ProfilesApp库(以及我提供的一些信息)这里

你能发布一些你尝试的代码吗?代码胜于雄辩。我已经用代码更新了我的帖子仅供参考这里有一个由Romain Vialard开发的开源ProfilesApp库,这正是我需要的,你能把它设置为一个答案,这样我就可以把它设置为正确的答案吗?完成。请接受答案或进一步澄清问题。