I am using the following code to insert the QR code on my workbook, while this code work when i run it from office script, I am not able to run this script from Power automate because it looks like power automate does not support using fetch in office script. Can someone help me with work around to achieve this. I am fine with using Premium connecter to achieve this but i don't want to use 3rd Party connectors.
async function main(workbook: ExcelScript.Workbook) {
// Fetch the image from a URL.
const link = "https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=Samundra";
const response = await fetch(link);
// Store the response as an ArrayBuffer, since it is a raw image file.
const data = await response.arrayBuffer();
// Convert the image data into a base64-encoded string.
const image = convertToBase64(data);
const imageShape = workbook.getWorksheet("Sheet1").addImage(image);
const range = workbook.getWorksheet("Sheet1").getRange("N15");
imageShape.setLeft(range.getLeft());
imageShape.setTop(range.getTop());
}
function convertToBase64(input: ArrayBuffer) {
const uInt8Array = new Uint8Array(input);
const count = uInt8Array.length;
// Allocate the necessary space up front.
const charCodeArray = new Array(count) as string[];
// Convert every entry in the array to a character.
for (let i = count; i >= 0; i--) {
charCodeArray[i] = String.fromCharCode(uInt8Array[i]);
}
// Convert the characters to base64.
const base64 = btoa(charCodeArray.join(''));
return base64;
}