Sto provando a connettermi a un google api.
Questo funziona bene nel mio terminale, ci sto facendo:
curl https://www.googleapis.com/tasks/v1/users/@me/lists --header "Authorization: Bearer myAccessCode"
.
Questo funziona bene, ma ora voglio farlo all'interno di un programma c.
per questo sono:
Fare https 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);
Ma qui io sono solo ottenere un messaggio che è necessario un login. Non ho idea di cosa sto sbagliando, c'è qualcuno che vede il mio fallimento?
Ho appena realizzato che ho fatto: 'curl_slist_append (header, intestazione);'
invece di: 'headers = curl_slist_append (header, header); '
Quindi le intestazioni erano sempre NULL e ho fatto la richiesta get senza intestazione.
(L'ho modificato nella mia domanda sopra, quindi il codice funziona, se qualcuno ha un problema simile) – EarlOfEgo
Quindi la domanda è già stata risolta? –
sì, ma i miei punti di reputazione mi hanno costretto ad aspettare 10 ore per rispondere alla mia stessa domanda :-) Quindi lo farò ora. – EarlOfEgo