2015-05-06 2 views
1

Это прекрасно работает:UrlFetchApp беды

var resp = UrlFetchApp.fetch("someremotehost/SomeFile.csv"); 
resp.getResponseCode(); //returns 200 
resp.getContentText(); //returns the data 

однако, на моей локальной машине, я бегу XAMPP с SomeFile.csv находится в HTDOCS/DEV, но я не могу заставить его работать на локальном хосте:

var resp = UrlFetchApp.fetch("localhost/dev/SomeFile.csv"); 
resp.getResponseCode(); //returns 0.0 
resp.getContentText() //returns nothing! 

Я проверил с хромированным расширением почтальоном и http://localhost/dev/SomeFile.csv работают отлично, так почему UrlFetchApp.fetch («http://localhost/dev/SomeFile.csv») не работает?

+0

Попробуйте запустить xampp на другой машине, а затем получить доступ с помощью ipaddress и посмотреть, работает оно или нет. – KRR

+1

Предыдущие вопросы, связанные с этой темой: [здесь] (http://stackoverflow.com/questions/17440179/unable-to-connect-google-apps-script-to-mysql-through-localhost), [здесь] (http : //stackoverflow.com/questions/13151909/google-apps-script-jdbc-connection-failed) и [здесь] (http://stackoverflow.com/questions/24659033/connection-to-sql-server-2008 -r2-DB-из-а-Google-Spread-лист). Я уверен, что видел больше, но не могу найти их сейчас. Это распространенное недоразумение, что код GAS работает «в облаке» и не имеет доступа к вашему компьютеру. – Mogsdad

ответ

2

Это не работает, потому что скрипт приложений выполняет роль сервера кода (на серверах google). Единственный способ сделать это - сделать приложение htmlService и использовать ajax из внешнего интерфейса.

+0

Зиг, спасибо за предложение! Я все еще знаком с сценарием приложений, и документации по UrlFetchApp, похоже, не хватает. :-( – Rx2000

+0

Если вы получили свой локальный хост в Интернете (например, с использованием DMZ или сопоставления портов на вашем маршрутизаторе), вы сможете получить доступ к нему из скрипта приложений, используя его * интернет-адрес * и порт, но «localhost» «никогда не будет автоматически разрешаться на вашем компьютере. – Mogsdad