I have a Java program that updates my product feed on a daily basis.
It worked fine for several months but recently, a
ServiceForbiddenException began occurring.
The code is as follows:
GoogleBaseService service = new GoogleBaseService( "google-product-
update", "" );
service.setUserCredentials( feedUsername, feedPassword );
String baseUrl = FeedURLFactory.getDefault().getItemsFeedURL().toString
();
java.net.URL finalUrl = new java.net.URL( baseUrl + "?start-
index=1&max-results=250" );
GoogleBaseFeed feed = service.query( new GoogleBaseQuery
( finalUrl ) );
The feed's username and password are the same credentials I use to
login to the merchant center and there are active products within the
merchant center.
The response from Google and the exception trace are as follows:
<errors>
com.google.gdata.util.ServiceForbiddenException: Forbidden
<error type="request" reason="Service forbidden: Terms of Service
acceptance required."/>
<errors>
</errors>
<error type="request" reason="Service forbidden: Terms of Service
acceptance required."/>
</errors>
at
com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse
(HttpGDataRequest.java:505)
at
com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse
(GoogleGDataRequest.java:555)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse
(HttpGDataRequest.java:480)
at com.google.gdata.client.http.HttpGDataRequest.execute
(HttpGDataRequest.java:459)
at com.google.gdata.client.http.GoogleGDataRequest.execute
(GoogleGDataRequest.java:527)
at com.google.gdata.client.Service.getFeed(Service.java:962)
at com.google.gdata.client.Service.getFeed(Service.java:898)
at com.google.gdata.client.GoogleService.getFeed
(GoogleService.java:623)
at com.google.gdata.client.Service.query(Service.java:1202)
at com.google.gdata.client.Service.query(Service.java:1145)
at com.google.api.gbase.client.GoogleBaseService.query
(GoogleBaseService.java:395)
at GoogleProductsUpdate.initializeFeed
(GoogleProductsUpdate.java:137)
at GoogleProductsUpdate.setup(GoogleProductsUpdate.java:96)
at GoogleProductsUpdate.execute(GoogleProductsUpdate.java:332)
at GoogleProductsUpdate.main(GoogleProductsUpdate.java:365)
According to the Java Recipe example,
http://code.google.com/apis/base/samples/java/java-sample-recipes.html,
this exception occurs due to:
"The authenticated user is forbidden to use the service because of not
agreeing with the Google Base's Terms of Services or not setting up
the account for Google Base. When the application receives such an
error, it should direct the user to the Google Base site to fix the
problem."
However, I do not see any terms of service that require acceptance
within the merchant center or Google base. I have the same Google
account for both base and the merchant center.
Any help would be greatly appreciated. Please let me know if you
require more information. Thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Base Data API" 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/google-base-data-api?hl=en
-~----------~----~----~----~------~----~------~--~---