---
title: Call Google APIs with OAuth 2.0 HTTP request
slug: call-google-apis-with-oauth-20-http-request
description: Call Google APIs using HTTP requests with OAuth 2.0 authentication
image: https://archbee-image-uploads.s3.amazonaws.com/oAyFj2GHlBeBVWF5OAir2/kFtvrcFVUkI6mYWMfK6CO_domino-zoomin-purple-a-1.png
docTags: 
createdAt: 2025-11-19T10:40:13.493Z
---

In Make, you can call Google APIs with the[ HTTP > Make a request](https://apps.make.com/http#pKx7q) module. Since  Google APIs use the OAuth 2.0 protocol for authentication and authorization, you will need to select the OAuth 2.0 authentication type when configuring your connection.

:::hint{type="info"}
For details on required APIs, scopes, and connection settings, refer to the API documentation of the specific Google service you are using. You can find it in the [Google APIs Explorer](https://developers.google.com/apis-explorer/). &#x20;
:::

To call Google APIs with the **HTTP > Make a request** module, you need to:

1. [Create and configure a Google Cloud Platform project](docId:2MZj8dpgNdiJekaDPFBrc)
2. [Establish the OAuth connection in Make](docId:2MZj8dpgNdiJekaDPFBrc)
3. [Configure the HTTP module to send the request](docId:2MZj8dpgNdiJekaDPFBrc)

## Create and configure a Google Cloud Platform project&#x20;

To connect Make to Google services using your custom client credentials, you need to create and configure a project in the Google Cloud Platform.

### Create a Google Cloud Platform project

::::WorkflowBlock
:::WorkflowBlockItem
Log in to the [Google Cloud Platform](https://console.cloud.google.com/) using your Google credentials.
:::

:::WorkflowBlockItem
On the welcome page, click **Create or select a project.**

::Image[****]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/iUUfJBhljqxbp2J37P6Zh-20250912-100329.png" size="80" width="1870" height="1220" position="center" darkWidth="1870" darkHeight="1220" showCaption="false"}
:::

:::WorkflowBlockItem
In the next window, click **New project&#x20;**&#x69;n the upper-right corner.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/TwqnY3iDQMsafLpxzv4JU-20250912-100529.png" size="80" width="1244" height="364" position="center" darkWidth="1244" darkHeight="364" showCaption="false"}
:::

:::WorkflowBlockItem
Change the default **Project name&#x20;**&#x61;nd **Project ID**, if needed. Select the **Location** for your project, and click **Create**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/HoHbDak4T8cEzz5BVWV---20250912-102510.png" size="70" width="878" height="636" position="center" darkWidth="878" darkHeight="636" showCaption="false"}
:::

:::WorkflowBlockItem
On the top panel, next to the Google Cloud logo, click **Select a project**.
:::

:::WorkflowBlockItem
In the next window, click the project you just created.&#x20;

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/jIdNcvAxzEUP22emCBrlp-20250912-103458.png)
:::
::::

You'll now see the **Google Cloud Platform project** you've created on the top panel, next to the Google Cloud logo.&#x20;

:::hint{type="success"}
To create a new project or work in the existing one, you need to have the `serviceusage.services.enable` permission. If you don’t have this permission, ask the Google Cloud Platform Project Owner or Project IAM Admin to grant it to you.
:::

### Enable APIs

::::WorkflowBlock
:::WorkflowBlockItem
In the left sidebar of the Google Cloud Platform, click **APIs & Services** > **Library**.
:::

:::WorkflowBlockItem
Search for the API you need for your project (e.g., Google Drive, Google Sheets, etc.).&#x20;
:::

:::WorkflowBlockItem
Click the relevant API. For example, Google Sheets API:&#x20;

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/FqyFIK1N28aaFciCB7nHq-20251119-105908.png)
:::

:::WorkflowBlockItem
Click **Enable**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/-RVq7HyCeesc1C1t0hKRm-20251119-110119.png" size="40" width="614" height="340" position="center" showCaption="false"}
:::
::::

Your API is now enabled.

### Configure your OAuth consent screen

:::::WorkflowBlock
:::WorkflowBlockItem
In the left sidebar of the Google Cloud Platform, click **APIs & Services** > **OAuth consent screen**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/szrwOEJWw7Ei-b7MSgGJt-20250912-111324.png" size="50" width="730" height="1298" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
Click **Get Started**.
:::

:::WorkflowBlockItem
In the **Overview** section:

- Under **App information**, enter *Make* as the app name, enter your Gmail address, and click **Next**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/iFvukbKbVakiQPqmsvre8-20250912-112021.png" size="60" width="870" height="972" position="center" showCaption="false"}

- Under **Audience**, select **External**, and click **Next**. For more information regarding user types, refer to [Google's Exceptions to verification requirements documentation](https://support.google.com/cloud/answer/9110914#exceptions-ver-reqts).
- Under **Contact Information**, enter your Gmail address, and click **Next**.
- Under **Finish**, agree to the [Google API Services User Data Policy](https://developers.google.com/terms/api-services-user-data-policy?authuser=1), and click **Continue**, then **Create**.
- In the next window, click **Create OAuth Client**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/gWhkTq2f_h5To-n_byZ7b-20250912-114156.png" size="70" width="2764" height="338" position="center" showCaption="false" indent="2"}

- You'll be redirected to the **Clients** tab. You can skip it for now or refer to the [Create your client credentials](docId\:w5UPQrHUgxZCKEtiFp7la) section to configure it.&#x20;
:::

:::WorkflowBlockItem
In the **Branding** section:&#x20;

- Under **Authorized domains,&#x20;**&#x63;lick **+Add domain.**
- Add `make.com` and `integromat.com`.&#x20;
- Click **Save**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/qyTTXd-f6d-L3Qpue7jgY-20250912-115053.png" size="70" width="1264" height="1286" position="center" showCaption="false"}
:::

::::WorkflowBlockItem
In the **Audience** section:

- Click **Publish app** to update the project status to **In production.&#x20;**
- If you want the project to remain in the **Testing** publishing status, click **+Add users&#x20;**&#x61;nd enter your Gmail address under **Test users.** &#x20;



::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/eMmPIQOVjUMtu2KFMZISU-20250912-115725.png" size="70" width="1272" height="1198" position="center" showCaption="false"}

:::hint{type="success"}
**Publishing Status**

**Testing:** If you keep your project in the **Testing** status, you will be required to reauthorize your connection in Make every week. To avoid weekly reauthorization, update the project status to **In production**.

**In production:** If you update your project to the **In production** status, you will not be required to reauthorize the connection weekly. To do that, go to the **Google Auth Platform**, the **Audience** section, and click **Publish app**. If you see the notice **Needs verification**, you can choose whether to go through the [Google verification process](https://support.google.com/cloud/answer/13463073?authuser=1\&visit_id=638718595933013017-1855034908\&rd=1) for the app or to connect to your unverified app. Currently, connecting to unverified apps works in Make, but we cannot guarantee that Google will allow connections to unverified apps for an indefinite period.

For more information regarding the publishing status, refer to the Publishing status section of [Google's Setting up your OAuth consent screen help](https://support.google.com/cloud/answer/10311615#zippy=).
:::
::::
:::::

Your OAuth consent is now configured.

### Create your client credentials

::::WorkflowBlock
:::WorkflowBlockItem
In the left sidebar of the Google Cloud Platform, click **APIs & Services** > **OAuth consent screen**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/szrwOEJWw7Ei-b7MSgGJt-20250912-111324.png" size="50" width="730" height="1298" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
Go to the **Clients&#x20;**&#x73;ection, and click **+Create client**.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/-1bUMR6Uj2xMDxANLbnHN-20250912-123323.png" size="60" width="830" height="402" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
Under **Create OAuth client ID**:&#x20;

- In the **Application type** dropdown, select **Web application**.
- In the **Name** field, update the name of your OAuth client. This will help you identify it in the console afterward.

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/mBdU3rr_GENJMNAXSL3gP-20250912-124942.png)
:::

:::WorkflowBlockItem
Under the **Authorized redirect URIs,&#x20;**&#x63;lick **+ Add URI.** Enter: `https://www.integromat.com/oauth/cb/oauth2` and click **Save**.&#x20;

This redirect URI is required to use the **HTTP > Make a request** module in Make.&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/29XiATeiOAJ-yODCpBWCy-20251119-111753.png" size="50" width="820" height="522" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
Click **Create**.
:::

:::WorkflowBlockItem
You'll see a message that the OAuth client has been created. Copy your **Client ID** and **Client secret** values, and store them in a safe place.&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/9K5uTh_cRFMTGrzqa_i5i-20251119-112349.png" size="60" width="1152" height="980" position="center" showCaption="false"}
:::
::::

You will use these values in the **Client ID** and **Client Secret** fields in Make.

## Establish the OAuth connection in Make

To establish the connection in Make:

:::::WorkflowBlock
:::WorkflowBlockItem
Log in to your Make account .
:::

:::WorkflowBlockItem
Create a new scenario or open an existing one and add an **HTTP > Make a request** module to your scenario.
:::

:::WorkflowBlockItem
In the **Authentication type** field, select&#x20;**&#x20;OAuth 2.0**.
:::

::::WorkflowBlockItem
In the **Credentials** field, click **Create a connection** (or **Add&#x20;**&#x6E;ext t&#x6F;**&#x20;Create a connection**) to create your OAuth 2.0 connection:

- In the **Connection name&#x20;**&#x66;ield, enter a name to distinguish your connection.&#x20;
- In the Flow type field, select Authorization Code as you'll need to enter further both an **Authorize URI** and **Token URI**.&#x20;
- In th&#x65;**&#x20;Authorize URI** field, enter the **Authorize URI&#x20;**&#x61;s it's defined in the Google API documentation: `https://accounts.google.com/o/oauth2/v2/auth`
- In th&#x65;**&#x20;Token URI** field, enter the **Token URI&#x20;**&#x61;s it's defined in the Google API documentation: `https://oauth2.googleapis.com/token`
- In the **Scope** field, click **+Add item** to add the scopes required for your HTTP request. &#x20;

:::hint{type="info" indent="2"}
You can check the scopes in the Google service's API documentation. For the [Google Sheets API scopes](https://developers.google.com/workspace/sheets/api/scopes), for example, you can use:

- `https://www.googleapis.com/auth/drive`
- `https://www.googleapis.com/auth/spreadsheets`
:::

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/LgGbum5HIC9oBaWVT2ghx-20251119-115613.png)

- In the **Client** **ID** field, add the **Client ID&#x20;**&#x79;ou obtained from your Google Cloud Platform project app.
- In th&#x65;**&#x20;Client Secret** field, add the **Client** **Secret&#x20;**&#x79;ou obtained from your Google Cloud Platform project app.
- Enable the **Advanced settings&#x20;**&#x74;oggle, and select **SPACE** in the **Scope** **separator** field.

:::hint{type="warning" indent="2"}
Choosing the right scope separator is important, as the wrong one can prevent you from establishing the connection.&#x20;
:::

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/tS6YaAjg5f0hAjvqtPzD7-20251119-121730.png" size="40" width="696" height="498" position="center" showCaption="false" indent="2"}

- To avoid having to constantly refresh the connection, in the **Authorize** **parameters**, click **+Add item** and add:&#x20;
  - **Key**: `access_type`**&#x20;Value**: `offline`
  - **Key**: `prompt` **Value**: `consent`

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/xlUIxU_PaWAsVfJNbhKOz-20251212-122702.png" size="40" width="714" height="706" position="center" showCaption="false"}

- Click **Save**.
::::

:::WorkflowBlockItem
Complete the required steps to sign in to Google. If you see a message that Google hasn't verified your app, you'll need to confirm that you trust the developer:

- Click **Advanced**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/MKB2Ge-KPFYTX9SfT9n9X-20251119-130723.png" size="40" width="1346" height="742" position="center" showCaption="false" indent="2"}

- Clic&#x6B;**&#x20;Go to integromat.com (unsafe)**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/H3KsXukfc2n3qtaay2R8U-20251119-130805.png" size="40" width="1322" height="992" position="center" showCaption="false" indent="2"}
:::

:::WorkflowBlockItem
Then, if prompted, authenticate your account, grant all requested permissions, and confirm access.
:::
:::::

You've successfully created the OAuth 2.0 connection and can now make the HTTP request to a Google app.

:::hint{type="info"}
You can [edit the connection ](https://help.make.com/connect-an-application#tN2pJ)at any time. To do that:

- Open **Connections** from the left sidebar.&#x20;
- Find the required connection, click the three dots next to its name, and click **Edit**.&#x20;

You will be able to add or remove scopes and edit some other connection parameters. &#x20;
:::

## Configure the HTTP module to send the request

To make an HTTP `POST` request to the Google Sheets API to create a spreadsheet:

:::::WorkflowBlock
:::WorkflowBlockItem
In the **URL** field, enter the URL according to the desired output. To create a spreadsheet, for example, you would use: `https://sheets.googleapis.com/v4/spreadsheets`
:::

:::WorkflowBlockItem
Select the **POST** method required for this API call. &#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/aBvLw76eidYVonN-vBBFT-20251119-133534.png" size="40" width="684" height="898" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
Leave the **Headers** and **Query** sections empty.
:::

::::WorkflowBlockItem
For the **Body** section:

- In the **Body content type** field, select **application/json**.
- In the **Body input method&#x20;**&#x66;ield, select **Data structure**.&#x20;
- In the **Body** **structure** field, click **Add&#x20;**&#x74;o create a new data structure.&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/pJ13hn4DlhkjowqatUx5D-20251119-133636.png" size="40" width="686" height="562" position="center" showCaption="false" indent="2"}

- Enter a name for your data structure to distinguish it afterward. Click **+Add item** to set up the parameters as 'key-value' pairs.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/qeGUIK1DTXSu9C_IXOTok-20251119-133956.png" size="40" width="698" height="648" position="center" showCaption="false" indent="2"}

- Alternatively, click **Generate** to enter a JSON text that will be converted into 'key-value' pairs. For example:

:::BlockQuote
\{
&#x20;   "properties": \{
&#x20;       "title": "New Spreadsheet Created by Make"
&#x20;   },
&#x20;   "sheets": \[
&#x20;       \{
&#x20;           "properties": \{
&#x20;               "title": "Initial Data"
&#x20;           }
&#x20;       }
&#x20;   ]
}
:::

- Click **Generate**.&#x20;
- This way, you'll add a title field to add the name of the spreadsheet you create, and a title field for the sheet created in that spreadsheet. Click **Save**.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/FNGYXmhwQfhQYN7g7VkyN-20251119-134338.png" size="40" width="700" height="1328" position="center" showCaption="false" indent="2"}

- In the **Body content&#x20;**&#x66;ield, you can now enter the names of the spreadsheet and sheet that you'll create.&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/BGohQIUWyKbYVFiL7Yrp5-20251119-134818.png" size="40" width="686" height="592" position="center" showCaption="false" indent="2"}
::::

:::WorkflowBlockItem
Click **Save&#x20;**&#x61;nd run the module.

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/a3rbIYSUnUKMe6WaRCtrf-20251119-134935.png" size="40" width="686" height="528" position="center" showCaption="false"}
:::
:::::

You can now check your Google Sheets. A new spreadsheet called **New spreadsheet Make&#x20;**&#x77;ith &#x61;**&#x20;New sheet** will be created. You can also see it in the output:&#x20;

::Image[]{src="https://app.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/8A-XW2bwdkf2DUGCpWrz_-20251119-135342.png" size="40" width="682" height="1310" position="center" showCaption="false"}

## Troubleshooting

If you get an error while establishing the OAuth 2.0 connection to any Google service in the **HTTP > Make a request** module, ensure that you've completed all the steps described above. Below is the summary of the key items you need to verify.

### &#x20;Check your Google Cloud Platform project

::::WorkflowBlock
:::WorkflowBlockItem
**Required API is enabled:** Ensure you've enabled the required Google API, as explained [here](docId:2MZj8dpgNdiJekaDPFBrc).&#x20;
:::

:::WorkflowBlockItem
**Authorized domains are added:** Add `integromat.com` and `make.com` as authorized domains in the **Branding** section, as explained in step 4 [here](docId:2MZj8dpgNdiJekaDPFBrc).&#x20;
:::

:::WorkflowBlockItem
**Test user is added, or the app is published**: Add your Gmail account as a test user or publish the app, as explained in step 5 [here](docId:2MZj8dpgNdiJekaDPFBrc).
:::

:::WorkflowBlockItem
**Authorized Redirect URI  is added:&#x20;**&#x41;dd the correct `https://www.integromat.com/oauth/cb/oauth2` in the **Clients** section, as explained in step 4 [here](docId:2MZj8dpgNdiJekaDPFBrc).
:::
::::

### Check the connection settings of the HTTP > Make a request module in Make

::::WorkflowBlock
:::WorkflowBlockItem
**Authorize URI  and Token URI are correct:&#x20;**&#x55;se `https://accounts.google.com/o/oauth2/v2/auth` as **Authorize URI&#x20;**&#x61;nd  `https://oauth2.googleapis.com/token` as **Token URI,** as explained in step 4 [here](docId:2MZj8dpgNdiJekaDPFBrc).&#x20;
:::

:::WorkflowBlockItem
**Required scopes are added**: Add all the scopes needed for your HTTP request, as explained in step 4 [here](docId:2MZj8dpgNdiJekaDPFBrc). &#x20;
:::

:::WorkflowBlockItem
**Correct Client ID and Client Secret are used:&#x20;**&#x45;nter the credentials you obtained from your Google Cloud Platform project, and ensure they match.
:::

:::WorkflowBlockItem
**Scope separator is set to SPACE**: Set th&#x65;**&#x20;Scope separator** to **SPACE** if you're adding more than one scope, as explained in step 4 [here](docId:2MZj8dpgNdiJekaDPFBrc). &#x20;
:::
::::

