0
我有一切工作,但实际文件不可读。我假设它加载,因为我没有得到任何错误,并创建附件。 “文件”需要在salesforce中为base64,所以我假设我的问题是Drive中的blob不是base64。问题是,如何将文件blob转换为上传的base64格式,并且这实际上可行。将Google云端硬盘文件上传到Salesforce附件
相关的代码块
var payload = Utilities.jsonStringify(
{"Name" : name, //string
"ParentId" : acctId, //string
"OwnerId" : ownerId, //string
"body" : content //base64
}
);
var contentType = "application/json; charset=utf-8";
var feedUrl = instanceUrl + "/services/data/v23.0/sobjects/Attachment/"
var response = UrlFetchApp.fetch(feedUrl, { method : "POST", headers : { "Authorization" : "OAuth " + accessToken }, payload : payload, contentType: contentType });
var feed = JSON.parse(response.getContentText());
在这里看着它接缝Utilities.jsonStringify()的文件将是一个问题。尽管如此,仍然需要一些帮助。
完美正是我需要的。我不确定这个blob的起点是什么,或者如何定义它。 getAs显然可以解决这个问题。 Salesforce在创建附件记录时需要拥有者ID。对我们来说,很容易,我们的谷歌用户是销售人员用户,所以我可以通过电子邮件地址查找他们。其他人可能没有这个选择。 –
太好了。将其标记为已接受,以便这将显示为对下一个人有价值的答案。我能够在没有OwnerId的情况下运行它(也许它假定上传的人是所有者)。无论哪种方式,我很高兴它为你解决。 –