Google apps script 如何设置或更新联系人';谷歌应用程序脚本的照片?

Google apps script 如何设置或更新联系人';谷歌应用程序脚本的照片?,google-apps-script,contacts,google-contacts-api,Google Apps Script,Contacts,Google Contacts Api,我举了一个例子,它看起来很有效,但是联系人的照片实际上没有改变,并且没有返回任何错误 我能够获取联系人的当前照片并删除联系人的照片 我的代码 响应XML http://www.google.com/m8/feeds/photos/media/-OMITTED-%40gmail.com/4c18faa28828aa3f 2020-10-12T22:10:01.271Z 我想出来了。出于某种原因,我正在为有效负载编码图像blob字节。我应该像这样通过这个水滴作为有效载荷 const accessT

我举了一个例子,它看起来很有效,但是联系人的照片实际上没有改变,并且没有返回任何错误

我能够获取联系人的当前照片并删除联系人的照片

我的代码 响应XML

http://www.google.com/m8/feeds/photos/media/-OMITTED-%40gmail.com/4c18faa28828aa3f
2020-10-12T22:10:01.271Z

我想出来了。出于某种原因,我正在为有效负载编码图像blob字节。我应该像这样通过这个水滴作为有效载荷

const accessToken = ScriptApp.getOAuthToken();
const id = '4c18faa28828aa3f';
const url = '-URL Omitted-';
const blob = UrlFetchApp.fetch(url).getBlob();
const response = UrlFetchApp.fetch(`https://www.google.com/m8/feeds/photos/media/me/${id}`, {
  method: 'put',
  contentType: 'image/jpeg',
  payload: blob,
  headers: {
    Authorization: `Bearer ${accessToken}`,
  },
});
const content = response.getContentText();
console.log(content);
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom'>
  <id>http://www.google.com/m8/feeds/photos/media/-OMITTED-%40gmail.com/4c18faa28828aa3f</id>
  <updated>2020-10-12T22:10:01.271Z</updated>
  <link rel='self' type='application/atom+xml'
        href='https://www.google.com/m8/feeds/photos/media/-OMITTED-%40gmail.com/4c18faa28828aa3f'/>
  <link rel='edit' type='application/atom+xml'
        href='https://www.google.com/m8/feeds/photos/media/-OMITTED-%40gmail.com/4c18faa28828aa3f/1B2M2Y8AsgTpgAmY7PhCfg'/>
</entry>
const accessToken = ScriptApp.getOAuthToken();
const id = '4c18faa28828aa3f';
const url = '-URL Omitted-';
const blob = UrlFetchApp.fetch(url).getBlob();
const response = UrlFetchApp.fetch(`https://www.google.com/m8/feeds/photos/media/me/${id}`, {
  method: 'put',
  contentType: 'image/jpeg',
  payload: blob,
  headers: {
    Authorization: `Bearer ${accessToken}`,
  },
});
const content = response.getContentText();
console.log(content);