2012-04-18 15 views
6


मैं एक google api से कनेक्ट करने का प्रयास कर रहा हूं।
यह मेरे टर्मिनल में ठीक काम करता है, मैं कर रहा हूं:
curl https://www.googleapis.com/tasks/v1/users/@me/lists --header "Authorization: Bearer myAccessCode"
यह ठीक काम करता है, लेकिन अब मैं इसे एक सी प्रोग्राम के अंदर बनाना चाहता हूं।
इसके लिए मेरे पास है:
https बनाना 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); 

लेकिन यहाँ मैं सिर्फ एक संदेश है कि एक प्रवेश की आवश्यकता है हो रही है। मुझे नहीं पता कि मैं क्या गलत कर रहा हूं, क्या कोई ऐसा व्यक्ति है जो मेरी विफलता को देखता है?

+0

मैं सिर्फ एहसास हुआ कि मैं बनाया: 'curl_slist_append (हेडर, हैडर);'
के बजाय: 'हेडर = curl_slist_append (हेडर, हेडर); '
तो हेडर हमेशा नल थे और मैंने हेडर के बिना अनुरोध प्राप्त किया।
(मैंने इसे ऊपर दिए गए मेरे प्रश्न में संपादित किया है, इसलिए कोड काम करता है, अगर किसी को भी ऐसी ही समस्या है) – EarlOfEgo

+0

तो प्रश्न पहले ही हल हो चुका है? –

+2

हां, लेकिन मेरी प्रतिष्ठा के अंक ने मुझे अपने प्रश्न का उत्तर देने के लिए 10 घंटे इंतजार करने के लिए मजबूर किया :-) तो अब मैं करूँगा। – EarlOfEgo

उत्तर

4

जैसा मैंने ऊपर टिप्पणी में लिखा है:
मैं सिर्फ एहसास हुआ कि मैं बनाया: curl_slist_append(headers, header);
के बजाय: headers = curl_slist_append(headers, header);
तो हेडर हमेशा शून्य था और मैं एक हैडर के बिना प्राप्त अनुरोध किया।
(मैं इसे ऊपर मेरे सवाल में संपादित, तो कोड, काम करता है अगर कुछ)