2017-01-05 31 views
0

我正在嘗試向組發佈4天的預測。如何解決GroupMe API中的內部錯誤500?

我使用谷歌Apps腳本如下:

function getForecast(request) { 
    var url = 'http://api.wunderground.com/api/"YOURAPIKEY"/forecast/q/NY/NewYork.json'; 
    var response = UrlFetchApp.fetch(url); 
    var json = response.getContentText(); 
    var data = JSON.parse(json) 
    var simpleForecast = data.forecast.simpleforecast; 
    var firstDay = simpleForecast.forecastday[0]; 
    var secondDay = simpleForecast.forecastday[1]; 
    var thirdDay = simpleForecast.forecastday[2]; 
    var fourthDay = simpleForecast.forecastday[3]; 

    var firstDate = firstDay.date.weekday; 
    var firstConditions = firstDay.conditions; 
    var firstHighF = firstDay.high.fahrenheit; 
    var firstLowF = firstDay.low.fahrenheit; 

    var firstWindSpeed = firstDay.maxwind.mph; 
    var firstWindDir = firstDay.maxwind.dir; 
    var firstHumidity = firstDay.avehumidity; 
    var forecastDayOne = String(firstDate + '\n'+ firstConditions + ' | ' + 'High: ' + firstHighF + 'F' + ' Low: ' + firstLowF + 'F' + '\n' + 'Wind: ' + firstWindDir + ' at ' + firstWindSpeed + 'mph' + ' | ' + 'Humidity: ' + firstHumidity + '%'); 

    var secondDate = secondDay.date.weekday; 
    var secondConditions = secondDay.conditions; 
    var secondHighF = secondDay.high.fahrenheit; 
    var secondLowF = secondDay.low.fahrenheit; 

    var secondWindSpeed = secondDay.maxwind.mph; 
    var secondWindDir = secondDay.maxwind.dir; 
    var secondHumidity = secondDay.avehumidity; 
    var forecastDayTwo = String(secondDate + '\n'+ secondConditions + ' | ' + 'High: ' + secondHighF + 'F' + ' Low: ' + secondLowF + 'F' + '\n' + 'Wind: ' + secondWindDir + ' at ' + secondWindSpeed + 'mph' + ' | ' + 'Humidity: ' + secondHumidity + '%'); 

    var thirdDate = thirdDay.date.weekday; 
    var thirdConditions = thirdDay.conditions; 
    var thirdHighF = thirdDay.high.fahrenheit; 
    var thirdLowF = thirdDay.low.fahrenheit; 

    var thirdWindSpeed = thirdDay.maxwind.mph; 
    var thirdWindDir = thirdDay.maxwind.dir; 
    var thirdHumidity = thirdDay.avehumidity; 
    var forecastDayThree = String(thirdDate + '\n'+ thirdConditions + ' | ' + 'High: ' + thirdHighF + 'F' + ' Low: ' + thirdLowF + 'F' + '\n' + 'Wind: ' + thirdWindDir + ' at ' + thirdWindSpeed + 'mph' + ' | ' + 'Humidity: ' + thirdHumidity + '%'); 

    var fourthDate = fourthDay.date.weekday; 
    var fourthConditions = fourthDay.conditions; 
    var fourthHighF = fourthDay.high.fahrenheit; 
    var fourthLowF = fourthDay.low.fahrenheit; 

    var fourthWindSpeed = fourthDay.maxwind.mph; 
    var fourthWindDir = fourthDay.maxwind.dir; 
    var fourthHumidity = fourthDay.avehumidity; 
    var forecastDayFour = (fourthDate + '\n'+ fourthConditions + ' | ' + 'High: ' + fourthHighF + 'F' + ' Low: ' + fourthLowF + 'F' + '\n' + 'Wind: ' + fourthWindDir + ' at ' + fourthWindSpeed + 'mph' + ' | ' + 'Humidity: ' + fourthHumidity + '%'); 

    var forecast = String('New York 3 Day Forecast: ' + '\n' + forecastDayOne + '\n' + forecastDayTwo + '\n' + forecastDayThree); 

    sendText(forecast); 
} 

這裏是sendText功能:

function sendText(text) { 
    var botId = "YOURBOTID"; 
    UrlFetchApp.fetch("https://api.groupme.com/v3/bots/post", {"method":"post", "payload": JSON.stringify({"bot_id": botId,"text": text})}); 

}

文本的一個例子是在這裏:

紐約4天預測: 星期四 晴間多雲|高:34F低:30F 風:WSW在10mph |溼度:41%

星期五 晴間多雲|高:34F低:22F 風:NNW在10mph |溼度:52%

星期六 陰|高:28F低:19F 風:N在10mph |溼度:39%

星期日 部分陰天|高:27F低:16F 風:西北風速20英里/小時|溼度:37%

預測文本變量是在400個字符,但文本的全部網址的長度超過400爲什麼會GroupMe的服務器返回碼500以及如何解決這個問題?

回答