Вызов внешнего API, чтобы получить файл и прикрепить его в Notes

У меня есть кнопка, на которую пользователь нажимает, javascript отправляет запрос GET к внешнему API для создания файла Excel. Я хочу, чтобы этот файл Excel был прикреплен к записи заметки и отображался на временной шкале. Хотя я создал запрос через JavaScript и создается файл Excel, я не знаю, как «получить» этот файл и прикрепить его в CRM.

function sendQuoteWithAPI(quoteId, selectedItems) {
                    var sendQuoteProcess = [];
                    var tokenId = 'tokenid';
                    ISV_abs_CloseDialog('ok');
                    var confirmStrings = {
                        text: "Excel file is being created. \n The file will be uploaded to timeline. \n\n\n Click Cancel if you don't want to proceed.",
                        title: "Export to Excel Confirmation!", confirmButtonLabel: "OK"
                    };
                    var confirmOptions = { height: 200, width: 400 };
                    //let test = "Excel file is being created. \n The file will be uploaded to timeline";
                    //window.parent.Xrm.Navigation.openAlertDialog({ text: test }, { height: 200, width: 300 });
                    var endpointURL = 'https://dynamics365-excelexport-dev.azurewebsites.net/api/export-quote?quoteId='+quoteId+'&customer='+selectedItems;
                    var requestOptions = {
                        method: 'GET',
                        headers: {
                            'Token': tokenId
                        }};
                    fetch(endpointURL, requestOptions)
                        .then(response => response.blob())
                        .then(result => console.info(result))
                        .catch(error => console.info('error:', error));
                }

Пожалуйста, поделитесь некоторыми подробностями об этом «внешнем API», покажите свой код и т. д.

Henk van Boeijen 25.06.2024 14:43
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала вам нужно содержимое файла в виде строки в кодировке Base64.

В этой сути приведен пример того, как это сделать: https://gist.github.com/n1ru4l/dc99062577b746e0783410b1298ab897

Если у вас есть строка в кодировке Base64, которая является вашим файлом, вам необходимо создать запись annotation со следующей структурой:

  • objectid: ссылка на запись, к которой вы хотите добавить примечание.
  • документ: правда
  • имя файла: имя_вашего_файла.xlsx
  • тело документа:

Другие вопросы по теме