Automatically exported from code.google.com/p/gdata-java-client
Apache License 2.0
0
stars
0
forks
source link
WorksheetEntry.getListFeedUrl returns ?xoauth_requestor_id=user@domain.com in OAuthCredentials context: problem with SpreadsheetService.query(myQuery, ListFeed.class) #296
What steps will reproduce the problem?
Hello everyone,
It seems the feed returned by WorksheetEntry.getListFeedUrl in OAuthCredentials
context, changed few days ago (nice cool feature).
Unfortunately, it seems to be incompatible with
SpreadsheetService.query(myQuery, ListFeed.class).
1.
Until 16th of july (day of my last work), WorksheetEntry.getListFeedUrl
returned:
https://spreadsheets.google.com/feeds/list/<my-spreadsheet-id>/<my-sheet-id>/pri
vate/full
As I work in OAuthCredentials context, I use ListQuery to define some
parameters and to add 'xoauth_requestor_id' definition
ListQuery oQuery = new ListQuery(oUrlFeed);
oQuery.addCustomParameter(new Query.CustomParameter("xoauth_requestor_id",
vCurrentUserEmail));
oQuery.setMaxResults(10);
oQuery.setSpreadsheetQuery("MySpecialRequest");
ListFeed oFeed = oMyService.query(oQuery, ListFeed.class);
oQuery.getUrl returned:
https://spreadsheets.google.com/feeds/list/<my-spreadsheet-id>/<my-sheet-id>/pri
vate/full?max-results=10&xoauth_requestor_id=user%40domain.com&sq=myspecialreque
st
2.
Since the 24th of july (day I restarted to work on my project),
WorksheetEntry.getListFeedUrl returns:
https://spreadsheets.google.com/feeds/list/<my-spreadsheet-id>/<my-sheet-id>/pri
vate/full?xoauth_requestor_id=user@domain.com
(?xoauth_requestor_id=user@domain.com was added automatically: cool!)
The problem is the previous code, now returns:
https://spreadsheets.google.com/feeds/list/<my-spreadsheet-id>/<my-sheet-id>/pri
vate/full?xoauth_requestor_id=user@domain.com?max-results=10&xoauth_requestor_id
=user%40domain.com&sq=myspecialrequest
3.
If I delete the 'xoauth_requestor_id' definition in the ListQuery
(this line: oQuery.addCustomParameter(new
Query.CustomParameter("xoauth_requestor_id", vCurrentUserEmail));)
there is still a double query sign '?' in the Url:
https://spreadsheets.google.com/feeds/list/<my-spreadsheet-id>/<my-sheet-id>/pri
vate/full?xoauth_requestor_id=user@domain.com?max-results=10&sq=myspecialrequest
What is the expected output? What do you see instead?
expected output:
https://spreadsheets.google.com/feeds/list/<my-spreadsheet-id>/<my-sheet-id>/pri
vate/full?xoauth_requestor_id=user@domain.com&max-results=10&sq=myspecialrequest
instead:
https://spreadsheets.google.com/feeds/list/<my-spreadsheet-id>/<my-sheet-id>/pri
vate/full?xoauth_requestor_id=user@domain.com?max-results=10&sq=myspecialrequest
What version of the product are you using? On what operating system?
Eclipse Java EE IDE for Web Developers.
Version: Helios Release
Build id: 20100617-1415
JDK 1.6.0_20
GWT 2.0.4
GData 1.41.2 (try with 1.41.4 but no better results)
GAE 1.3.5
Windows XP
Please provide any additional information below.
Find below my code in the context of use:
GoogleOAuthParameters oOAuthParameters = new GoogleOAuthParameters();
oOAuthParameters.setOAuthConsumerKey(MyConstants.OAUTH_CONSUMER_KEY);
oOAuthParameters.setOAuthConsumerSecret(MyConstants.OAUTH_CONSUMER_SECRET);
oOAuthParameters.setOAuthType(OAuthParameters.OAuthType.TWO_LEGGED_OAUTH);
oOAuthParameters.setOAuthTimestamp(OAuthUtil.getTimestamp());
OAuthHmacSha1Signer oSigner = new OAuthHmacSha1Signer();
SpreadsheetService oMyService = new SpreadsheetService (MyConstants.SERVICE_NAME_PERFSHEET);
oMyService.setOAuthCredentials(oOAuthParameters, oSigner);
oMyService.useSsl();
String vCurrentUserEmail = MyConstants.TEST_USER_ID_DOMAIN;
URL oUrlFeed = new URL(MyConstants.GAPPS_URL_SHEET_BY_ID);
WorksheetFeed oWrkSheetsFeed = oMyService.getFeed(oUrlFeed, WorksheetFeed.class);
for (WorksheetEntry oWrkSheet : oWrkSheetsFeed.getEntries()) {
oUrlFeed = oWrkSheet.getListFeedUrl();
ListQuery oQuery = new ListQuery(oUrlFeed);
oQuery.addCustomParameter(new Query.CustomParameter("xoauth_requestor_id", vCurrentUserEmail));
oQuery.setMaxResults(10);
oQuery.setSpreadsheetQuery(MyConstants.MY_QUERY);
ListFeed oFeed = oMyService.query(oQuery, ListFeed.class);
Thanks for your great job and sorry for my english.
DP
Original issue reported on code.google.com by denys.po...@gmail.com on 25 Jul 2010 at 11:40
Original issue reported on code.google.com by
denys.po...@gmail.com
on 25 Jul 2010 at 11:40