You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
client = new HTTPSRedirect(dstPort);
client->setPrintResponseBody(false);
client->setContentTypeHeader("application/json");
// Try to connect for a maximum of 5 times
bool flag = false;
for (int i = 0; i < GoogleServerMaxRetry; i++) {
int retval = client->connect(dstHost, dstPort);
if (retval == 1) {
flag = true;
break;
}
else
Serial.println(F("Connection failed. Retrying..."));
}
if (!flag) {
Serial.print(F("Could not connect to server: "));
Serial.println(dstHost);
Serial.println("Exiting...");
delete client;
client = nullptr;
return;
}
*wm:AutoConnect: SUCCESS
*wm:STA IP Address: 192.168.178.122
17:12:31
Connecting to script.google.com
Connection failed. Retrying...
Could not connect to server: script.google.com
Exiting...
Fetching data is done now.
When I copy the Link from google script into my browser, I get the data. The ntp time in the monitor is working so it's no wifi connection problem.
Thanks for your help,
Bastian
The text was updated successfully, but these errors were encountered:
SOLVED:
I finally solved the problem by hardcoding the wifi credentials into the code and using the direct wifi.begin function. And in syncCalendar I added client->setInsecure();. Now it is working without problems.
Hi,
I want to use your library to get the appointments from my google calendar. This is the code I'm using
`#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiManager.h>
#include <DNSServer.h>
#include <ArduinoJson.h>
#include "HTTPSRedirect.h"
#include <NTPClient.h>
#include <WiFiUdp.h>
// Params needed to fetch events from Google Calendar
char const * const dstHost = "script.google.com";
char const * const dstPath = "/macros/s/AKfycb[...]2S8fGWc3b-Q/exec"; // script path including key
int const dstPort = 443;
int32_t const timeout = 2000;
int const GoogleServerMaxRetry = 1; //maximum tries to reach google server.
WiFiClient client; // wifi client object
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);
void configModeCallback (WiFiManager *myWiFiManager) {
DPRINTLN(F("failed to connect and hit timeout"));
DPRINT(F("Entered config mode at: ")); DPRINT(myWiFiManager->getConfigPortalSSID()); DPRINT(F(" IP: ")); DPRINTLN(WiFi.softAPIP());
}
void setup() {
unsigned long startTime = millis();
WiFiManager wifiManager;
wifiManager.setTimeout(30);
wifiManager.setBreakAfterConfig(true);
wifiManager.setAPCallback(configModeCallback);
Serial.begin(115200);
wifiManager.setConnectTimeout(5);
wifiManager.autoConnect("SmartEPD");
timeClient.begin();
timeClient.update();
Serial.println(timeClient.getFormattedTime());
syncCalendar();
}
void loop() {
}
void syncCalendar() {
HTTPSRedirect* client = nullptr;
client = new HTTPSRedirect(dstPort);
client->setPrintResponseBody(false);
client->setContentTypeHeader("application/json");
// Try to connect for a maximum of 5 times
bool flag = false;
for (int i = 0; i < GoogleServerMaxRetry; i++) {
int retval = client->connect(dstHost, dstPort);
if (retval == 1) {
flag = true;
break;
}
else
Serial.println(F("Connection failed. Retrying..."));
}
if (!flag) {
Serial.print(F("Could not connect to server: "));
Serial.println(dstHost);
Serial.println("Exiting...");
delete client;
client = nullptr;
return;
}
// fetch spreadsheet data
client->GET(dstPath, dstHost);
String googleCalData = client->getResponseBody();
}
In the Serial monitor I get this response:
*wm:AutoConnect: SUCCESS
*wm:STA IP Address: 192.168.178.122
17:12:31
Connecting to script.google.com
Connection failed. Retrying...
Could not connect to server: script.google.com
Exiting...
Fetching data is done now.
When I copy the Link from google script into my browser, I get the data. The ntp time in the monitor is working so it's no wifi connection problem.
Thanks for your help,
Bastian
The text was updated successfully, but these errors were encountered: