실제 파일을 읽을 수 없다는 점을 제외하고는 모든 것이 작동합니다. 오류가 발생하지 않고 첨부 파일이 만들어 지므로로드가 있다고 가정합니다. "파일"은 salesforce에서 base64 여야하므로 내 문제는 드라이브의 BLOB가 base64가 아니라는 가정하에 가정합니다. 질문은 파일 blob을 업로드 용 base64 형식으로 변환하는 방법이며 이것이 실제로 작동하는지 여부입니다. 그것은 Utilities.jsonStringify 솔기 여기에서 찾고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());
()이 파일은 문제가 될 것입니다. 그래도이 작업을하는 데 도움이 필요합니다.
내가 필요한 것. 나는 시작점이 물방울을 위해 무엇인지 또는 그 정의 방법을 알지 못했습니다. getAs는 분명히 그 문제를 해결합니다. Salesforce는 첨부 레코드를 만들 때 소유자 ID가 필요합니다. 우리에게는 쉽습니다. Google 사용자는 salesforce 사용자이므로 전자 메일 주소를 통해 찾을 수 있습니다. 다른 사람들은 그런 선택권이 없을 수도 있습니다. –
좋아요. 이것이 다음 사람에게 중요한 대답으로 나타날 수 있도록 허용 된 것으로 표시하십시오. OwnerId없이 작업 할 수있었습니다 (아마도 업로드하는 사람이 소유자 인 것으로 가정 할 수 있습니다). 어느 쪽이든, 나는 그것이 당신을 위해 잘 된 것을 기쁘게 생각합니다. –