Как сделать запрос GET на http: localhost из word javascript api?

Я пытаюсь развить слово addin. Он предоставит исправления для слова в зависимости от контекста. Язык будет бенгальский.

Я думаю, что в localhost будет сервер Python. Да, он будет работать на локальном хосте. В противном случае, если это центральный сервер, будет слишком много запросов. Итак, каким-то образом (может быть, через exe-файл я буду запускать сервер на локальном хосте) я заставлю сервер работать на локальном хосте. Файл .exe может быть передан любому, и когда он / она запустит его, он будет работать на его локальном хосте, а затем он / она может использовать слово addin (которое я разрабатываю) для вызова локального хоста для получения желаемого результата. Стоит отметить, что на платформе будут окна.

Но проблема в том, что слово JavaScript api не позволяет мне звонить на localhost в http. Он может звонить только по https. Но localhost - это не https. Могу ли я как-то назвать слово api в http localhost? Кроме того, поскольку я хочу создать законченный продукт, я стараюсь пропустить настройки, связанные с ОС. Например, сделать localhost сертифицированным. Потому что, когда приложение (сервер python) будет перенесено, я не знаю, как и можно ли запустить скрипт в других ОС Windows и сертифицировать их локальный хост. Таким образом, будет очень полезно сделать так, чтобы word api просто обращалось к моему локальному хосту, используя http (или как минимум https://localhost) и не какой-нибудь https://somedomainname.com.

Для среды кодирования для разработки слова addin я использую лабораторию скриптов. Так что лучше будет найти решение, которое будет поддерживаться лабораторией скриптов.


person Tahmid Khan    schedule 28.05.2019    source источник


Ответы (1)


У этого подхода есть несколько проблем.

Во-первых, вы никогда не пройдете проверку, когда пытаетесь вызвать localhost, поскольку по умолчанию он завершится неудачно, и вы попросите пользователей установить дополнительное программное обеспечение для поддержки вашей надстройки JS. Надстройки должны работать автономно.

Могу ли я как-то назвать слово api в http localhost?

Нет, в этом контексте нет. Ваш конечный URL-адрес манифеста должен быть https, и они должны быть доступны извне.

Я пытаюсь пропустить настройки, связанные с ОС. Например, сделать localhost сертифицированным. Потому что, когда приложение (сервер python) будет перенесено, я не знаю, как и можно ли запустить скрипт в других ОС Windows и сертифицировать их локальный хост.

Одним из преимуществ магазина Office является то, что Microsoft может следить за тем, является ли надстройка, которую устанавливают клиенты (которую мы разрабатываем), вредоносной или нет. Попытка сказать, что вы хотите обойти проверку, в этом случае не помогает.

Я думаю, что в localhost будет сервер Python. Да, он будет работать на локальном хосте. В противном случае, если это центральный сервер, будет слишком много запросов.

Это должен быть центральный сервер, и вы должны заниматься его масштабируемостью. Возможно, у вас не так много пользователей, как вы изначально себе представляете. Я бы порекомендовал Heroku - они поддерживают Python, и их первый уровень бесплатен, вы можете разработать и опубликовать свою надстройку и как только он начнет получать значительный трафик, вы можете подумать о том, чтобы переместить его в другие места.

person Mavi Domates    schedule 04.06.2019
comment
Спасибо за ответ. В python я смог сделать свой localhost https с помощью runserver_plus. Тем не менее, я не могу вызвать его из моего Word API с помощью jQuery. Я пробовал как в Script Lab, так и в Visual Studio 2017 Community edition. Я обновил манифест Visual Studio 2017 в appDomain и сделал его localhost: 3000, но по-прежнему возникает ошибка сети. На данный момент я не думаю об обходе валидации. Итак, вы можете сказать, почему это не работает? Даже для тестирования? - person Tahmid Khan; 07.06.2019
comment
Также MS Word исправляет или дает синонимы слов в автономном режиме, не так ли? Итак, как я могу заставить свою надстройку работать в автономном режиме? Вот почему моя идея была такой (использовать сервер в localhost). Итак, есть идеи на этот счет, если это возможно? - person Tahmid Khan; 07.06.2019
comment
Ко второму пункту - на данный момент это невозможно. Теоретически пользователь может открыть вашу надстройку прямо перед посадкой в ​​самолет и продолжать использовать ее в самолете при условии, что ваша надстройка не имеет логики на стороне сервера. Однако это, скорее всего, не удастся, потому что, если браузер не может подключиться, он, скорее всего, выдаст какую-то ошибку. Для вашего первого случая это зависит от того, как вы его тестируете. Вы используете клиент или веб-интерфейс? - person Mavi Domates; 07.06.2019
comment
Скорее всего, это не удастся, потому что, если браузер не может подключиться, он, скорее всего, выдаст какую-то ошибку. - Почему браузер не может подключиться? Все в localhost, но разные порты. И для тестирования в localhost есть сервер django, работающий на порту 3000, и я предполагаю, что слово api работает на порту 44343. Я думаю, что это опыт клиента (точно не получил вопрос). - person Tahmid Khan; 08.06.2019