with Google Ads and Oracle Cloud Infrastructure?
Emit new event when a new autonomous database is created in a specified compartment. See the documentation
Emit new event when a new campaign is created. See the documentation
Emit new event when a compute instance changes state (e.g., from stopped to running). This requires instance OCID and proper event rules set up in Oracle Cloud Infrastructure. See the documentation
Emit new event for new leads on a Lead Form. See the documentation
Emit new event when a new object is uploaded to a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Adds a contact to a specific customer list in Google Ads. Lists typically update in 6 to 12 hours after operation. See the documentation
Create or update an object in a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Create a new customer list in Google Ads. See the documentation
Delete an object from a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Generates a report from your Google Ads data. See the documentation
The Google Ads API lets you programmatically manage your Google Ads data and
campaigns. You can use the API to automate common tasks, such as:
You can also use the API to get information about your campaigns, such as:
The Google Ads API is a powerful tool that lets you manage your Google Ads data
and campaigns programmatically. With the API, you can automate common tasks,
such as creating and managing campaigns, adding and removing keywords, and
adjusting bids. You can also use the API to get information about your
campaigns, such as campaign stats, keyword stats, and ad performance.
The Pipedream components interact with Google Ads API through Pipedream's proxy service, which handles authentication and developer token requirements.
The components accept a standard Google Ads API request object with the following structure:
const googleAdsReq = {
method: "get|post|put|delete", // HTTP method
url: "/v16/...", // Google Ads API endpoint path
headers: {
"Authorization": `Bearer ${this.googleAds.$auth.oauth_access_token}`
},
data: {} // Optional request body for POST/PUT requests
}
To make different API calls while using the proxy:
url
path to match your desired Google Ads API endpointmethod
to match the required HTTP methoddata
fieldExample for a custom query:
const googleAdsReq = {
method: "post",
url: "/v16/customers/1234567890/googleAds:search",
headers: {
"Authorization": `Bearer ${this.googleAds.$auth.oauth_access_token}`
},
data: {
query: "SELECT campaign.id, campaign.name FROM campaign"
}
}
The proxy endpoint will remain the same: https://eolid4dq1k0t9hi.m.pipedream.net
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
googleAds: { type: "app", app: "google_ads" }
},
async run({ $ }) {
const googleAdsReq = {
method: "get",
url: "/v19/customers:listAccessibleCustomers",
headers: {
"Authorization": `Bearer ${this.googleAds.$auth.oauth_access_token}`,
// "login-customer-id": this.googleAds.$auth.customer_id // optional for this endpoint
}
}
// proxy google ads request
return await axios($, {
url: "https://eolid4dq1k0t9hi.m.pipedream.net",
data: googleAdsReq,
})
}
})
import * as common from "oci-common";
import * as identity from "oci-identity";
export default defineComponent({
props: {
oracle_cloud_infrastructure: {
type: "app",
app: "oracle_cloud_infrastructure",
},
},
async run({ steps, $ }) {
const tenancyId = this.oracle_cloud_infrastructure.$auth.tenancy_id;
const userId = this.oracle_cloud_infrastructure.$auth.user_id;
const fingerprint = this.oracle_cloud_infrastructure.$auth.fingerprint;
const regionStr = this.oracle_cloud_infrastructure.$auth.region;
const privateKey = this.oracle_cloud_infrastructure.$auth.private_key;
// Convert the region string into a Region object
const region = common.Region.fromRegionId(regionStr);
// Create a simple authentication provider using your credentials.
// If your private key has a passphrase, replace null with the passphrase.
const provider = new common.SimpleAuthenticationDetailsProvider(
tenancyId,
userId,
fingerprint,
privateKey,
null, // passphrase (if needed)
region
);
// Create an IdentityClient using the provider.
const identityClient = new identity.IdentityClient({
authenticationDetailsProvider: provider,
});
// Prepare a request to list compartments for your tenancy.
const listCompartmentsRequest = {
compartmentId: tenancyId,
};
// Call the OCI API to list compartments.
const response = await identityClient.listCompartments(listCompartmentsRequest);
// The response object contains details such as items (the list of compartments).
return response;
},
});