7


GoogleAPIに接続しようとしています。
これは私のターミナルでうまく機能します、そこで私はやっています:
curl https://www.googleapis.com/tasks/v1/users/@me/lists --header "Authorization: Bearer myAccessCode"
これは問題なく動作しますが、今はこれをACプログラム内で作成したいと思います。
このために私は持っています:

    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);

しかし、ここでは、ログインが必要であるというメッセージが表示されています。私は自分が何を間違っているのか分かりませんが、私の失敗を見ている人はいますか?

4

1 に答える 1

5

上記のコメントで書いたように:
私は自分が作成したことに気づきました:curl_slist_append(headers, header);
代わりに:headers = curl_slist_append(headers, header);
ヘッダーは常にNULLであり、ヘッダーなしでgetリクエストを作成しました。
(上記の質問で編集したので、コードが機能する場合は機能します)

于 2012-04-19T10:22:58.703 に答える