Estoy tratando de conectarme a una API de Google.
Esto funciona bien en mi terminal, allí estoy:
curl https://www.googleapis.com/tasks/v1/users/@me/lists --header "Authorization: Bearer myAccessCode"
.
Esto funciona bien, pero ahora quiero hacer esto dentro de un programa c.
para esto he:
Haciendo https get con libcurl
CURL *curl;
char *header = "Authorization: Bearer myAccessCode";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, header);
curl = curl_easy_init();
char *response = NULL;
curl_easy_setopt(curl, CURLOPT_URL, "https://www.googleapis.com/tasks/v1/users/@me/lists");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, httpsCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
Pero aquí sólo estoy un mensaje de que se requiere un inicio de sesión. No tengo idea de lo que estoy haciendo mal, ¿hay alguien que vea mi falla?
me he dado cuenta de que hice: 'curl_slist_append (cabeceras, cabecera);'
en lugar de: 'headers = curl_slist_append (cabeceras, encabezado); '
Así que los encabezados siempre eran NULL e hice la solicitud get sin un encabezado.
(Lo edité en mi pregunta anterior, por lo que el código funciona, si alguien tiene un problema similar) – EarlOfEgo
¿Entonces la pregunta ya está resuelta? –
sí, pero mis puntos de reputación me obligaron a esperar 10 horas para responder a mi propia pregunta :-) Así que lo haré ahora. – EarlOfEgo