Request had insufficient authentication scopes

2022-09-07 Thread 'Shivani Katukota' via Google Ads API and AdWords API Forum
Hi,

I am trying to run the example using the new Google Ads API from here: 
https://developers.google.com/google-ads/api/docs/client-libs/java/getting-started
 but 
am facing an exception. 

*Command Run*: ./gradlew -q runExample 
--example="basicoperations.GetCampaigns --customerId 6676419890"

*Response:*

Running example: 
com.google.ads.googleads.examples.basicoperations.GetCampaigns, args: 
[--customerId, 6676419890]

2022-09-07 10:07:04,309 WARN  [grpc-default-executor-0] 
logging.RequestLogger (RequestLogger.java:159) - FAILURE REQUEST SUMMARY. 
Method: google.ads.googleads.v11.services.GoogleAdsService/SearchStream, 
Endpoint: googleads.googleapis.com:443, CustomerID: 6676419890, RequestID: 
null, ResponseCode: PERMISSION_DENIED, Fault: Request had insufficient 
authentication scopes..

2022-09-07 10:07:05,273 INFO  [grpc-default-executor-0] 
logging.RequestLogger (RequestLogger.java:157) - FAILURE REQUEST DETAIL.

Request

---

MethodName: google.ads.googleads.v11.services.GoogleAdsService/SearchStream

Endpoint: googleads.googleapis.com:443

Headers: {developer-token=REDACTED, login-customer-id=3258658280, 
x-goog-api-client=gl-java/1.8.0_292 gccl/21.0.1-SNAPSHOT 
gapic/21.0.1-SNAPSHOT gax/2.12.2 grpc/1.44.1 pb/3.19.4}

Body: customer_id: "6676419890"

query: "SELECT campaign.id, campaign.name FROM campaign ORDER BY 
campaign.id"


Response



Headers: Metadata(content-type=application/grpc,www-authenticate=Bearer 
realm="https://accounts.google.com/;, error="insufficient_scope", 
scope="https://www.googleapis.com/auth/adwords 
https://adwords.google.com/api/adwords 
https://adwords.google.com/api/adwords/ 
https://adwords.google.com/api/adwords/cm",x-google-session-info=GgQYECgLIAE6GhIYZ29vZ2xlYWRzLmdvb2dsZWFwaXMuY29t,date=Wed,
 
07 Sep 2022 17:07:04 
GMT,x-google-gfe-request-trace=acsfol15:443,dydl21:9838,/bns/py/borg/py/bns/adwords-simply/aw-webapi-esfproxy-prod.server/54,dydl21:9838,acsfol15:443,x-google-gfe-version=2.790.1,x-google-gslb-service=adwords-frontend-webapi-esfproxy,x-google-backends=/bns/py/borg/py/bns/adwords-simply/aw-webapi-esfproxy-prod.server/54,/bns/dy/borg/dy/bns/traffic-prod/shared-layer2-gfe/19,/bns/dy/borg/dy/bns/traffic-prod/shared-layer2-gfe/19,/bns/ncsfoa/borg/ncsfoa/bns/gfe-prod/blue-layer1-gfe.sfo03s25/4,x-google-dos-service-trace=main:adwords-frontend-webapi-esfproxy,main:shared-layer2-gfe,x-google-gfe-handshake-trace=GFE:
 
/bns/ncsfoa/borg/ncsfoa/bns/gfe-prod/blue-layer1-gfe.sfo03s25/4,Mentat 
oracle: 
[2002:a05:7308:7195::]:9846,x-google-service=adwords-frontend-webapi-esfproxy,shared-layer2-grpc-aggregate,x-google-gfe-response-code-details-trace=response_code_set_by_backend,response_code_set_by_backend,x-google-gfe-response-body-transformations=chunked,chunked,x-google-shellfish-status=CA0gBEBG,alt-svc=h3=":443";
 
ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; 
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; 
ma=2592000,quic=":443"; ma=2592000; 
v="46,43",x-google-gfe-service-trace=adwords-frontend-webapi-esfproxy,shared-layer2-grpc-aggregate)

Body: null

Failure message: null

Status: Status{code=PERMISSION_DENIED, description=Request had insufficient 
authentication scopes., cause=null}.

Exception in thread "main" 
com.google.api.gax.rpc.PermissionDeniedException: 
io.grpc.StatusRuntimeException: PERMISSION_DENIED: Request had insufficient 
authentication scopes.

at 
com.google.api.gax.rpc.ApiExceptionFactory.createException(ApiExceptionFactory.java:53)

at 
com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:72)

at 
com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:60)

at 
com.google.api.gax.grpc.ExceptionResponseObserver.onErrorImpl(ExceptionResponseObserver.java:82)

at 
com.google.api.gax.rpc.StateCheckingResponseObserver.onError(StateCheckingResponseObserver.java:86)

at 
com.google.api.gax.grpc.GrpcDirectStreamController$ResponseObserverAdapter.onClose(GrpcDirectStreamController.java:149)

at 
io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)

at 
io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)

at 
io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)

at 
com.google.api.gax.grpc.ChannelPool$ReleasingClientCall$1.onClose(ChannelPool.java:455)

at 
io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)

at 
io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)

at 
io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)

at 
com.google.ads.googleads.lib.logging.LoggingInterceptor$1$1.onClose(LoggingInterceptor.java:113)

at 

ServiceConfigurationError on GoogleAdsRecordReader initialize

2022-09-07 Thread 'Shivani Katukota' via Google Ads API and AdWords API Forum
Hi everyone,

We are migrating from AdWords API to Google Ads API. I keep getting this 
error and when trying to create an object of GoogleAdsServiceClient and 
cannot figure out the dependency I may be missing.

*Line at which error encountered*: GoogleAdsServiceClient 
googleAdsServiceClient = 
googleAdsClient.getLatestVersion().createGoogleAdsServiceClient();

*Error*: ERROR [Executor task launch worker for task 0.0 in stage 0.0 (TID 
0):o.a.s.e.Executor@94] - Exception in task 0.0 in stage 0.0 (TID 0) 
java.util.ServiceConfigurationError: 
com.google.ads.googleads.lib.stubs.callables.ExceptionTransformation: 
Provider 
com.google.ads.googleads.lib.callables.GoogleAdsExceptionTransformation not 
foundat java.util.ServiceLoader.fail(ServiceLoader.java:239) 
~[na:1.8.0_332]at 
java.util.ServiceLoader.access$300(ServiceLoader.java:185) ~[na:1.8.0_332] 
   at 
java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372) 
~[na:1.8.0_332]at 
java.util.ServiceLoader$LazyIterator.access$700(ServiceLoader.java:323) 
~[na:1.8.0_332]at 
java.util.ServiceLoader$LazyIterator$2.run(ServiceLoader.java:407) 
~[na:1.8.0_332]at java.security.AccessController.doPrivileged(Native 
Method) ~[na:1.8.0_332]at 
java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:409) 
~[na:1.8.0_332]at 
java.util.ServiceLoader$1.next(ServiceLoader.java:480) ~[na:1.8.0_332]   
 at 
com.google.ads.googleads.lib.GrpcGoogleAdsCallableFactory.loadExceptionTransformation(GrpcGoogleAdsCallableFactory.java:58)
 
~[na:na]at 
com.google.ads.googleads.lib.GrpcGoogleAdsCallableFactory.(GrpcGoogleAdsCallableFactory.java:51)
 
~[na:na]at 
com.google.ads.googleads.v11.services.stub.GrpcGoogleAdsServiceStub.(GrpcGoogleAdsServiceStub.java:118)
 
~[na:na]at 
com.google.ads.googleads.v11.services.stub.GrpcGoogleAdsServiceStub.create(GrpcGoogleAdsServiceStub.java:96)
 
~[na:na]at 
com.google.ads.googleads.v11.services.stub.GoogleAdsServiceStubSettings.createStub(GoogleAdsServiceStubSettings.java:186)
 
~[na:na]at 
com.google.ads.googleads.v11.services.GoogleAdsServiceClient.(GoogleAdsServiceClient.java:141)
 
~[na:na]at 
com.google.ads.googleads.v11.services.GoogleAdsServiceClient.create(GoogleAdsServiceClient.java:123)
 
~[na:na]at 
com.google.ads.googleads.lib.catalog.GeneratedCatalog$V11Client.createGoogleAdsServiceClient(GeneratedCatalog.java:2915)
 
~[na:na]at 
io.cdap.plugin.googleads.common.GoogleAdsHelper.downloadReport(GoogleAdsHelper.java:85)
 
~[%20artifact8554326314395520378.jar:na]at 
io.cdap.plugin.googleads.common.GoogleAdsHelper.buildReportStructure(GoogleAdsHelper.java:64)
 
~[%20artifact8554326314395520378.jar:na]at 
io.cdap.plugin.googleads.source.single.GoogleAdsRecordReader.initialize(GoogleAdsRecordReader.java:51)
 
~[%20artifact8554326314395520378.jar:na]at 
io.cdap.cdap.etl.spark.io.TrackingRecordReader.initialize(TrackingRecordReader.java:42)
 
~[hydrator-spark-core3_2.12-6.7.1.jar:na]at 
org.apache.spark.rdd.NewHadoopRDD$$anon$1.liftedTree1$1(NewHadoopRDD.scala:216) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.NewHadoopRDD$$anon$1.(NewHadoopRDD.scala:213) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.NewHadoopRDD.compute(NewHadoopRDD.scala:168) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.NewHadoopRDD.compute(NewHadoopRDD.scala:71) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
io.cdap.cdap.app.runtime.spark.data.DatasetRDD.compute(DatasetRDD.scala:58) 
~[na:na]at 
org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.RDD.iterator(RDD.scala:337) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.RDD.iterator(RDD.scala:337) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.RDD.iterator(RDD.scala:337) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.rdd.RDD.iterator(RDD.scala:337) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.scheduler.Task.run(Task.scala:131) 
~[spark-core_2.12-3.1.3.jar:3.1.3]at 
org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:498)