Hi Prasad,
I'm Kevin from the Google Ads API Team.
Could you please confirm if you’ve indeed followed every step of the service account guide, specifically the prerequisites? If your service account has been correctly configured, please provide the complete request and response logs with request ID where you have encountered an error as well as the the user account/email address that you're trying to setup so I can better investigate your concern.
You may refer to our logging guide for the Java client library for instructions on how to enable it on your end. You may then send the requested information via the Reply privately to author option. If this option is not available, you may send the details directly to the googleadsa...@google.com alias instead.
Regards,
|
||||||
query: "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id"GoogleAdsServiceImpl.getCampaigns 444 Obtained stream[warn] c.g.a.g.l.r.summary - FAILURE REQUEST SUMMARY. Method: google.ads.googleads.v9.services.GoogleAdsService/SearchStream, Endpoint: googleads.googleapis.com:443, CustomerID:XXXX , RequestID: null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
Hi Prasad,
I am also a member of Google Ads API Support.
I had to delete your initial and last post as the logs contained your developer token and GCP project id. Since your developer token was exposed, we recommend that you reset the token by referring to this guide. For privacy purposes, you may avoid exposing your developer token and other sensitive data publicly. Please continue our discussion privately via the Reply privately to author option or direct support to our googleadsa...@google.com alias.
Moving forward, could you please confirm if you’ve indeed followed every step of the guide, specifically the prerequisites? In order to connect to Google Ads API using a Google service account, you will need a Google Workspace domain since it is a prerequisite for using service accounts. Note that Google Ads does not support using service accounts without impersonation. Because user impersonation is controlled only at the domain level, using service accounts and assertion flow with Google OAuth2 requires you to have your own domain registered with Google Workspace. Your application and its users will have the ability to impersonate any user in the domain.
However, kindly note that, we strongly recommend using OAuth2 installed app or web flows instead of service accounts unless you need domain-specific features (for example, impersonation). OAuth2 installed application and web flows require user interaction only once, when access to the account is granted. This process of authentication is much simpler to set up via OAuth2 credentials. You need to implement the code set up on your end to make calls using service accounts.
Regards,
|
||||||
GoogleAdsServiceImpl.getCampaigns 222 googleAdsServiceClient:com.google.ads.googleads.v9.services.GoogleAdsServiceClient@XXXX
GoogleAdsServiceImpl.getCampaigns 333 request:customer_id: "XXXXX"
query: "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id"
GoogleAdsServiceImpl.getCampaigns 444 Obtained stream
[warn] c.g.a.g.l.r.summary - FAILURE REQUEST SUMMARY. Method: google.ads.googleads.v9.services.GoogleAdsService/SearchStream, Endpoint: googleads.googleapis.com:443, CustomerID: XXXXX, RequestID: null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
~
|
||||||