I created new credentials in Google Developer Console for Google Ads base URL : https://googleads.googleapis.com/v14/customers. and added the scope: https://www.googleapis.com/auth/adwords . Using Oauth2 user consent. https://developers.google.com/identity/protocols/oauth2

In Postman, I performed the following steps in my Google Ads workspace :

1a. Added Client Id and Client Secret to the variables portion of the Google Ads collection.

  1. Set the token name
  2. Set the grant type = 'Authorization Code'
  3. Callback URL = https://oauth.pstmn.io/v1/browser-callback
  4. Auth URL = https://accounts.google.com/o/oauth2/v2/auth
  5. Access Token URL = https://oauth2.googleapis.com/token
  6. Scope = https://www.googleapis.com/auth/adwords
  7. Refresh token (default) = https://oauth2.googleapis.com/token

When I click the Access New Token button, I get the redirect page requesting me to choose an account. So I choose my google account and allow oauth.pstmn.io to access my google account (This is postman browser) .

The token generation fails with the message below (note that I have already successfully done token generation in Postman with credentials used for DFA Reporting for Campaigns, Sites, and Ads in GCM 360):

However, the result is that I get an "invalid client". How could that be since I created the client in Google Developer Console and copied those over to Postman doing everything that I did successfully for GCM 360 APIs ? Thanks. Here are the slides:

Google Sensitive scopes List

Postman Redirect

Postman Error Logs

Response body (in error log)

I'm new to the meta business platform. I'm currently setting up a whatsapp business account to send messages programaticaly. I'm able to use the api to send messages and make use of templates. The problem is that the messages are being delivered, but with a delay of over 30 minutes.

The api endpoint I'm using is https://graph.facebook.com/v17.0/{{ _.phoneId }}/messages

Is there any settings required to make them be delivered as fast as possible?

I have registered 2 numbers and it's connected. The problem is, I wanted to use our own number not a test number on this API Call

https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/messages {     "messaging_product": "whatsapp",     "to": "{{Recipient-Phone-Number}}",     "type": "template",     "template": {         "name": "hello_world",         "language": {             "code": "en_US"         }     } } 

I have successfully sent the message by the test number. My question is how to use our own number?

From the app dashboard, I have checked the production number is zero but on the WhatsApp business manager I have 3 numbers, 1 for testing and 2 is should be act as the production number. I have 2 waba ID and pretty sure I use the correct one.

When trying to

https://graph.facebook.com/{{Version}}/{{WABA-ID}}/phone_numbers {     "error": {         "message": "Unsupported get request. Object with ID '*****' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",         "type": "GraphMethodException",         "code": 100,         "error_subcode": 33,         "fbtrace_id": "Ac5S6tqiApK**l1Y_t4nv"     } } 

Does it require BSP to use my Own Number? How to get the phone-number-id?

Ps. My 2 other numbers are already connected with messagebird and it can send messages successfully.

I'm attempting to cURL the Google Ads API with the following PHP code:

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://googleads.googleapis.com/v14/customers/[CUSTOMER_ID]:generateKeywordHistoricalMetrics'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_HTTPHEADER, [     'developer-token: [DEVELOPER_TOKEN',     'login-customer-id: [LOGIN_CUSTOMER_ID]',     'Authorization: Bearer [???????]',     'Accept: application/json',     'Content-Type: application/json', ]); curl_setopt($ch, CURLOPT_POSTFIELDS, '{"historicalMetricsOptions":{"yearMonthRange":{"start":{"month":"JUNE","year":2022},"end":{"month":"MAY","year":2023}}},"keywords":[""]}'); $response = curl_exec($ch); curl_close($ch); 

And the response is:

{   "error": {     "code": 401,     "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",     "status": "UNAUTHENTICATED"   } } 

What I believe the issue to be is on the "Authentication" field. So far, I've put the following in that field(and failed each time):

  1. OAUTH 2 Client ID
  2. OAUTH 2 Client Secret
  3. OAUTH 2 Refresh Token, that works for another Google Ads project I've made
  4. Developer token

So, I could appreciate any and all help, since I'm running out of ideas and don't know what to do.