Tôi đang cố gắng kết nối với một api của google.
Điều này hoạt động tốt trong thiết bị đầu cuối của tôi, ở đó tôi đang thực hiện:
curl https://www.googleapis.com/tasks/v1/users/@me/lists --header "Authorization: Bearer myAccessCode"
.
Điều này hoạt động tốt, nhưng bây giờ tôi muốn thực hiện điều này bên trong một chương trình c.
Đối với điều này tôi có:
Đặt https với 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);
Nhưng ở đây tôi chỉ nhận được một thông điệp rằng một tên đăng nhập là bắt buộc. Tôi không biết mình đang làm gì sai, có ai nhìn thấy thất bại của tôi không?
Tôi chỉ nhận ra rằng tôi đã thực hiện: 'curl_slist_append (tiêu đề, tiêu đề);'
thay vì: 'header = curl_slist_append (tiêu đề, tiêu đề); '
Vì vậy, tiêu đề luôn là NULL và tôi đã thực hiện yêu cầu nhận không có tiêu đề.
(Tôi đã chỉnh sửa nó trong câu hỏi của mình ở trên, vì vậy mã hoạt động, nếu ai đó có vấn đề tương tự) – EarlOfEgo
Vì vậy, câu hỏi sau đó đã được giải quyết? –
có, nhưng điểm danh tiếng của tôi buộc tôi phải đợi 10 giờ để trả lời câu hỏi của riêng mình :-) Vì vậy, tôi sẽ làm ngay bây giờ. – EarlOfEgo