Hi Team,

I want to upload upload offline conversions through Google Ads API. But 
during the Oauth process, it requires some credentials, please help me from 
where I can get the credentials?
It has to be done server to server, so no user consent will be there.

I'm using "ads.properties" in UploadOfflineConversion.java and getting 
unautherized error. Please find attached logs for your reference.

Please help me how can I implement the same and way to get the credentials.

Many thanks.


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/971cfe46-b3c3-4200-a04c-9eaebbb128f1n%40googlegroups.com.
18:34:40.038 [grpc-default-executor-1] WARN 
com.google.ads.googleads.lib.request.summary - FAILURE REQUEST SUMMARY. Method: 
google.ads.googleads.v14.services.ConversionUploadService/UploadClickConversions,
 Endpoint: googleads.googleapis.com:443, CustomerID: xxxxxxxxx, RequestID: 
null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
SLF4J: Failed toString() invocation on an object of type 
[com.google.ads.googleads.v14.services.UploadClickConversionsRequest]
Reported exception:
java.lang.IllegalAccessError: tried to access method 
com.google.protobuf.LazyStringArrayList.emptyList()Lcom/google/protobuf/LazyStringArrayList;
 from class com.google.api.ResourceDescriptor
        at com.google.api.ResourceDescriptor.<init>(ResourceDescriptor.java:502)
        at 
com.google.api.ResourceDescriptor.<clinit>(ResourceDescriptor.java:2833)
        at com.google.api.ResourceProto.<clinit>(ResourceProto.java:69)
        at 
com.google.ads.googleads.v14.services.ConversionUploadServiceProto.<clinit>(ConversionUploadServiceProto.java:202)
        at 
com.google.ads.googleads.v14.services.UploadClickConversionsRequest.internalGetFieldAccessorTable(UploadClickConversionsRequest.java:43)
        at 
com.google.protobuf.GeneratedMessageV3.getDescriptorForType(GeneratedMessageV3.java:133)
        at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:364)
        at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:354)
        at 
com.google.protobuf.TextFormat$Printer.printToString(TextFormat.java:619)
        at 
com.google.protobuf.AbstractMessage.toString(AbstractMessage.java:111)
        at 
org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
        at 
org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
        at 
org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
        at 
org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
        at 
ch.qos.logback.classic.spi.LoggingEvent.getFormattedMessage(LoggingEvent.java:293)
        at 
ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(LoggingEvent.java:206)
        at 
ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:223)
        at 
ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
        at 
ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
        at 
ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
        at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
        at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
        at 
ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
        at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
        at ch.qos.logback.classic.Logger.info(Logger.java:591)
        at 
com.google.ads.googleads.lib.logging.RequestLogger.logAtLevel(RequestLogger.java:157)
        at 
com.google.ads.googleads.lib.logging.RequestLogger.logDetail(RequestLogger.java:109)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor.logDetail(LoggingInterceptor.java:219)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor.access$700(LoggingInterceptor.java:42)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor$1$1.onClose(LoggingInterceptor.java:96)
        at 
io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:489)
        at 
io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:453)
        at 
io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:486)
        at 
io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
        at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
        at 
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
        at 
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at 
io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
18:34:40.040 [grpc-default-executor-1] INFO 
com.google.ads.googleads.lib.request.detail - FAILURE REQUEST DETAIL.
Request
-------
MethodName: 
google.ads.googleads.v14.services.ConversionUploadService/UploadClickConversions
Endpoint: googleads.googleapis.com:443
Headers: {developer-token=REDACTED, login-customer-id=xxxxxxxxx, 
x-goog-api-client=gl-java/1.8.0_131 gccl/26.0.0 gapic/26.0.0 gax/2.29.0 
grpc/1.55.1 pb/3.21.2}
Body: [FAILED toString()]

Response
--------
Headers: null
Body: null
Failure message: null
Status: Status{code=UNAVAILABLE, description=Credentials failed to obtain 
metadata, cause=com.google.auth.oauth2.GoogleAuthException: 
com.google.api.client.http.HttpResponseException: 401 Unauthorized
POST https://oauth2.googleapis.com/token
        at 
com.google.auth.oauth2.GoogleAuthException.createWithTokenEndpointResponseException(GoogleAuthException.java:127)
        at 
com.google.auth.oauth2.GoogleAuthException.createWithTokenEndpointResponseException(GoogleAuthException.java:143)
        at 
com.google.auth.oauth2.UserCredentials.doRefreshAccessToken(UserCredentials.java:272)
        at 
com.google.auth.oauth2.UserCredentials.refreshAccessToken(UserCredentials.java:177)
        at 
com.google.auth.oauth2.OAuth2Credentials$1.call(OAuth2Credentials.java:269)
        at 
com.google.auth.oauth2.OAuth2Credentials$1.call(OAuth2Credentials.java:266)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
com.google.auth.oauth2.OAuth2Credentials$RefreshTask.run(OAuth2Credentials.java:633)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
Caused by: com.google.api.client.http.HttpResponseException: 401 Unauthorized
POST https://oauth2.googleapis.com/token
        at 
com.google.api.client.http.HttpResponseException$Builder.build(HttpResponseException.java:293)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1118)
        at 
com.google.auth.oauth2.UserCredentials.doRefreshAccessToken(UserCredentials.java:270)
        ... 8 more
}.
18:34:43.840 [grpc-default-executor-0] WARN 
com.google.ads.googleads.lib.request.summary - FAILURE REQUEST SUMMARY. Method: 
google.ads.googleads.v14.services.ConversionUploadService/UploadClickConversions,
 Endpoint: googleads.googleapis.com:443, CustomerID: xxxxxxxxx, RequestID: 
null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
SLF4J: Failed toString() invocation on an object of type 
[com.google.ads.googleads.v14.services.UploadClickConversionsRequest]
Reported exception:
java.lang.NoClassDefFoundError: Could not initialize class 
com.google.ads.googleads.v14.services.ConversionUploadServiceProto
        at 
com.google.ads.googleads.v14.services.UploadClickConversionsRequest.internalGetFieldAccessorTable(UploadClickConversionsRequest.java:43)
        at 
com.google.protobuf.GeneratedMessageV3.getDescriptorForType(GeneratedMessageV3.java:133)
        at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:364)
        at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:354)
        at 
com.google.protobuf.TextFormat$Printer.printToString(TextFormat.java:619)
        at 
com.google.protobuf.AbstractMessage.toString(AbstractMessage.java:111)
        at 
org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
        at 
org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
        at 
org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
        at 
org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
        at 
ch.qos.logback.classic.spi.LoggingEvent.getFormattedMessage(LoggingEvent.java:293)
        at 
ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(LoggingEvent.java:206)
        at 
ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:223)
        at 
ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
        at 
ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
        at 
ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
        at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
        at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
        at 
ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
        at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
        at ch.qos.logback.classic.Logger.info(Logger.java:591)
        at 
com.google.ads.googleads.lib.logging.RequestLogger.logAtLevel(RequestLogger.java:157)
        at 
com.google.ads.googleads.lib.logging.RequestLogger.logDetail(RequestLogger.java:109)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor.logDetail(LoggingInterceptor.java:219)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor.access$700(LoggingInterceptor.java:42)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor$1$1.onClose(LoggingInterceptor.java:96)
        at 
io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
        at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
        at 
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
        at 
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at 
io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
18:34:43.840 [grpc-default-executor-0] INFO 
com.google.ads.googleads.lib.request.detail - FAILURE REQUEST DETAIL.
Request
-------
MethodName: 
google.ads.googleads.v14.services.ConversionUploadService/UploadClickConversions
Endpoint: googleads.googleapis.com:443
Headers: {developer-token=REDACTED, login-customer-id=xxxxxxxxx, 
x-goog-api-client=gl-java/1.8.0_131 gccl/26.0.0 gapic/26.0.0 gax/2.29.0 
grpc/1.55.1 pb/3.21.2}
Body: [FAILED toString()]

Response
--------
Headers: null
Body: null
Failure message: null
Status: Status{code=UNAVAILABLE, description=Credentials failed to obtain 
metadata, cause=com.google.auth.oauth2.GoogleAuthException: 
com.google.api.client.http.HttpResponseException: 401 Unauthorized
POST https://oauth2.googleapis.com/token
        at 
com.google.auth.oauth2.GoogleAuthException.createWithTokenEndpointResponseException(GoogleAuthException.java:127)
        at 
com.google.auth.oauth2.GoogleAuthException.createWithTokenEndpointResponseException(GoogleAuthException.java:143)
        at 
com.google.auth.oauth2.UserCredentials.doRefreshAccessToken(UserCredentials.java:272)
        at 
com.google.auth.oauth2.UserCredentials.refreshAccessToken(UserCredentials.java:177)
        at 
com.google.auth.oauth2.OAuth2Credentials$1.call(OAuth2Credentials.java:269)
        at 
com.google.auth.oauth2.OAuth2Credentials$1.call(OAuth2Credentials.java:266)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
com.google.auth.oauth2.OAuth2Credentials$RefreshTask.run(OAuth2Credentials.java:633)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
Caused by: com.google.api.client.http.HttpResponseException: 401 Unauthorized
POST https://oauth2.googleapis.com/token
        at 
com.google.api.client.http.HttpResponseException$Builder.build(HttpResponseException.java:293)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1118)
        at 
com.google.auth.oauth2.UserCredentials.doRefreshAccessToken(UserCredentials.java:270)
        ... 8 more
}.
18:34:44.297 [grpc-default-executor-1] WARN 
com.google.ads.googleads.lib.request.summary - FAILURE REQUEST SUMMARY. Method: 
google.ads.googleads.v14.services.ConversionUploadService/UploadClickConversions,
 Endpoint: googleads.googleapis.com:443, CustomerID: xxxxxxxxx, RequestID: 
null, ResponseCode: UNAVAILABLE, Fault: Credentials failed to obtain metadata.
SLF4J: Failed toString() invocation on an object of type 
[com.google.ads.googleads.v14.services.UploadClickConversionsRequest]
Reported exception:
java.lang.NoClassDefFoundError: Could not initialize class 
com.google.ads.googleads.v14.services.ConversionUploadServiceProto
        at 
com.google.ads.googleads.v14.services.UploadClickConversionsRequest.internalGetFieldAccessorTable(UploadClickConversionsRequest.java:43)
        at 
com.google.protobuf.GeneratedMessageV3.getDescriptorForType(GeneratedMessageV3.java:133)
        at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:364)
        at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:354)
        at 
com.google.protobuf.TextFormat$Printer.printToString(TextFormat.java:619)
        at 
com.google.protobuf.AbstractMessage.toString(AbstractMessage.java:111)
        at 
org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
        at 
org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
        at 
org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
        at 
org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
        at 
ch.qos.logback.classic.spi.LoggingEvent.getFormattedMessage(LoggingEvent.java:293)
        at 
ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(LoggingEvent.java:206)
        at 
ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:223)
        at 
ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
        at 
ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
        at 
ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
        at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
        at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
        at 
ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
        at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
        at ch.qos.logback.classic.Logger.info(Logger.java:591)
        at 
com.google.ads.googleads.lib.logging.RequestLogger.logAtLevel(RequestLogger.java:157)
        at 
com.google.ads.googleads.lib.logging.RequestLogger.logDetail(RequestLogger.java:109)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor.logDetail(LoggingInterceptor.java:219)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor.access$700(LoggingInterceptor.java:42)
        at 
com.google.ads.googleads.lib.logging.LoggingInterceptor$1$1.onClose(LoggingInterceptor.java:96)
        at 
io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
        at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
        at 
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
        at 
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at 
io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
18:34:44.298 [grpc-default-executor-1] INFO 
com.google.ads.googleads.lib.request.detail - FAILURE REQUEST DETAIL.
Request
-------
MethodName: 
google.ads.googleads.v14.services.ConversionUploadService/UploadClickConversions
Endpoint: googleads.googleapis.com:443
Headers: {developer-token=REDACTED, login-customer-id=xxxxxxxxx, 
x-goog-api-client=gl-java/1.8.0_131 gccl/26.0.0 gapic/26.0.0 gax/2.29.0 
grpc/1.55.1 pb/3.21.2}
Body: [FAILED toString()]

Response
--------
Headers: null
Body: null
Failure message: null
Status: Status{code=UNAVAILABLE, description=Credentials failed to obtain 
metadata, cause=com.google.auth.oauth2.GoogleAuthException: 
com.google.api.client.http.HttpResponseException: 401 Unauthorized
POST https://oauth2.googleapis.com/token
        at 
com.google.auth.oauth2.GoogleAuthException.createWithTokenEndpointResponseException(GoogleAuthException.java:127)
        at 
com.google.auth.oauth2.GoogleAuthException.createWithTokenEndpointResponseException(GoogleAuthException.java:143)
        at 
com.google.auth.oauth2.UserCredentials.doRefreshAccessToken(UserCredentials.java:272)
        at 
com.google.auth.oauth2.UserCredentials.refreshAccessToken(UserCredentials.java:177)
        at 
com.google.auth.oauth2.OAuth2Credentials$1.call(OAuth2Credentials.java:269)
        at 
com.google.auth.oauth2.OAuth2Credentials$1.call(OAuth2Credentials.java:266)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
com.google.auth.oauth2.OAuth2Credentials$RefreshTask.run(OAuth2Credentials.java:633)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
Caused by: com.google.api.client.http.HttpResponseException: 401 Unauthorized
POST https://oauth2.googleapis.com/token
        at 
com.google.api.client.http.HttpResponseException$Builder.build(HttpResponseException.java:293)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1118)
        at 
com.google.auth.oauth2.UserCredentials.doRefreshAccessToken(UserCredentials.java:270)
        ... 8 more
}.

Reply via email to