Sign in with Google
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");curl_easy_setopt(hnd, CURLOPT_URL, "https://api.proxyrequest.com/api/v1/login/google");
struct curl_slist *headers = NULL;headers = curl_slist_append(headers, "Content-Type: application/json");curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{ \"credential\": \"google-id-token\" }");
CURLcode ret = curl_easy_perform(hnd);using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://api.proxyrequest.com/api/v1/login/google"), Content = new StringContent("{ \"credential\": \"google-id-token\" }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://api.proxyrequest.com/api/v1/login/google"
payload := strings.NewReader("{ \"credential\": \"google-id-token\" }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.proxyrequest.com/api/v1/login/google")) .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{ \"credential\": \"google-id-token\" }")) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, "{ \"credential\": \"google-id-token\" }");Request request = new Request.Builder() .url("https://api.proxyrequest.com/api/v1/login/google") .post(body) .addHeader("Content-Type", "application/json") .build();
Response response = client.newCall(request).execute();import axios from 'axios';
const options = { method: 'POST', url: 'https://api.proxyrequest.com/api/v1/login/google', headers: {'Content-Type': 'application/json'}, data: {credential: 'google-id-token'}};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}const url = 'https://api.proxyrequest.com/api/v1/login/google';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"credential":"google-id-token"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")val body = RequestBody.create(mediaType, "{ \"credential\": \"google-id-token\" }")val request = Request.Builder() .url("https://api.proxyrequest.com/api/v1/login/google") .post(body) .addHeader("Content-Type", "application/json") .build()
val response = client.newCall(request).execute()use serde_json::json;use reqwest;
#[tokio::main]pub async fn main() { let url = "https://api.proxyrequest.com/api/v1/login/google";
let payload = json!({"credential": "google-id-token"});
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Content-Type", "application/json".parse().unwrap());
let client = reqwest::Client::new(); let response = client.post(url) .headers(headers) .json(&payload) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request POST \ --url https://api.proxyrequest.com/api/v1/login/google \ --header 'Content-Type: application/json' \ --data '{ "credential": "google-id-token" }'wget --quiet \ --method POST \ --header 'Content-Type: application/json' \ --body-data '{ "credential": "google-id-token" }' \ --output-document \ - https://api.proxyrequest.com/api/v1/login/googleVerifies a Google ID token, creates or links the matching customer account when needed, and returns an API token pair.
Authorizations
Section titled “Authorizations”- None
Request Bodyrequired
Section titled “Request Bodyrequired”Enhanced Google OAuth authentication with comprehensive security validation and user management.
object
Google ID token credential
Google OAuth client ID
User selection method
Optional affiliate code
Optional referral code
Examples
Google credential
{ "credential": "google-id-token"}Enhanced Google OAuth authentication with comprehensive security validation and user management.
object
Google ID token credential
Google OAuth client ID
User selection method
Optional affiliate code
Optional referral code
Examples
Example request
credential=credential&client_id=550e8400-e29b-41d4-a716-446655440001&select_by=select+by&affiliate_code=affiliate+code&referral_code=referral+codeEnhanced Google OAuth authentication with comprehensive security validation and user management.
object
Google ID token credential
Google OAuth client ID
User selection method
Optional affiliate code
Optional referral code
Examples
Example request
{ "credential": "credential", "client_id": "550e8400-e29b-41d4-a716-446655440001", "select_by": "select by", "affiliate_code": "affiliate code", "referral_code": "referral code"}Responses
Section titled “Responses”The operation completed successfully.
object
Short-lived access token used in the Authorization header.
Long-lived token used to request a new access token.
Examples
Issued tokens
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwidXNlcl9pZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMSJ9.example-signature", "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsInVzZXJfaWQiOiI1NTBlODQwMC1lMjliLTQxZDQtYTcxNi00NDY2NTU0NDAwMDEifQ.example-signature"}The request is malformed or violates a business rule.
Validation and API error payload. Field names may be added dynamically; field errors are returned as arrays of human-readable messages.
object
Stable translation key suitable for client localisation.
Examples
Validation error
{ "non_field_errors": [ "The request could not be processed." ], "translation": "errors.request.invalid"}