SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

Deleat and deactive gmail

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • Deleat and deactive gmail

    کد:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <curl/curl.h>
    /*
    gcc -o delete_gmail delete_gmail.c -lcurl
    ./delete_gmail
    */
    // A function to write the response data to a buffer
    size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp)
    {
        char **response_ptr =  (char**)userp;
        *response_ptr = strndup(buffer, (size_t)(size *nmemb));
        return size * nmemb;
    }
    // A function to get the access token from the authorization code
    char* get_access_token(char* api_key, char* code)
    {
        CURL *curl;
        CURLcode res;
        char* response = NULL;
        char* url = NULL;
        char* post_fields = NULL;
        // Create the URL for the token request
        url = malloc(256);
        sprintf(url, "https://www.googleapis.com/oauth2/v4/token?key=%s", api_key);
        // Create the post fields for the token request
        post_fields = malloc(512);
        sprintf(post_fields, "code=%s&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code", code);
        // Initialize curl
        curl = curl_easy_init();
        if(curl) {
            // Set the URL and the post fields
            curl_easy_setopt(curl, CURLOPT_URL, url);
            curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_fields);
            // Set the write function and the buffer to store the response
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
            // Perform the request and check for errors
            res = curl_easy_perform(curl);
            if(res != CURLE_OK)
                fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
            // Clean up
            curl_easy_cleanup(curl);
            free(url);
            free(post_fields);
        }
        // Return the response or NULL if failed
        return response;
    }
    // A function to delete the Gmail account using the access token
    void delete_gmail_account(char* access_token)
    {
        CURL *curl;
        CURLcode res;
        char* response = NULL;
        char* url = NULL;
        char* header = NULL;
        // Create the URL for the delete request
        url = malloc(256);
        sprintf(url, "https://www.googleapis.com/admin/directory/v1/users/me");
        // Create the header for the delete request
        header = malloc(256);
        sprintf(header, "Authorization: Bearer %s", access_token);
        // Initialize curl
        curl = curl_easy_init();
        if(curl) {
            // Set the URL and the custom request
            curl_easy_setopt(curl, CURLOPT_URL, url);
            curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
            // Set the header
            struct curl_slist *chunk = NULL;
            chunk = curl_slist_append(chunk, header);
            curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
            // Set the write function and the buffer to store the response
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
            // Perform the request and check for errors
            res = curl_easy_perform(curl);
            if(res != CURLE_OK)
                fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
            // Clean up
            curl_easy_cleanup(curl);
            free(url);
            free(header);
            curl_slist_free_all(chunk);
        }
        // Print the response or NULL if failed
        printf("%s\n", response);
    }
    int main()
    {
        // Define the API key, the authorization code, the Gmail username and password
        char* api_key = "YOUR_API_KEY";
        char* code = "YOUR_AUTHORIZATION_CODE";
        char* username = "YOUR_GMAIL_USERNAME";
        char* password = "YOUR_GMAIL_PASSWORD";
        // Get the access token from the authorization code
        char* token_response = get_access_token(api_key, code);
        // Check if the token response is valid
        if(token_response != NULL)
        {
            // Parse the access token from the token response
            char* access_token = NULL;
            char* token_start = strstr(token_response, "\"access_token\": \"");
            if(token_start != NULL)
            {
                token_start += 17;
                char* token_end = strchr(token_start, '\"');
                if(token_end != NULL)
                {
                    access_token = strndup(token_start, token_end - token_start);
                }
            }
            // Check if the access token is valid
            if(access_token != NULL)
            {
                // Delete the Gmail account using the access token
                delete_gmail_account(access_token);
                // Free the access token
                free(access_token);
            }
            else
            {
                printf("Invalid access token.\n");
            }
            // Free the token response
            free(token_response);
        }
        else
        {
            printf("Invalid token response.\n");
        }
        return 0;
    }
    ​
    [align=center][align=right]When danger lurks in unknown waters, we are there to help you swim[/align][/align]
صبر کنید ..
X