My favorites | Sign in
Google
                
Details: Show all Hide all

Today

  • 3 hours ago
    issue 306 (small mistake in the GDataGAuthRequest.QueryAuthToken method) reported by ATGard...@gmail.com   -   In line #511 theres a copy of the GDCredentials being made, to avoid some bug with factory/requestsettings. The created gdc are *not* used later in the actual Utilities.QueryClientLoginToken. I think it is probably a typo.
    In line #511 theres a copy of the GDCredentials being made, to avoid some bug with factory/requestsettings. The created gdc are *not* used later in the actual Utilities.QueryClientLoginToken. I think it is probably a typo.
  • 18 hours ago
    issue 300 (Trouble Downloading pdfs with OAuth) commented on by edwin.landy   -   Hello, I'm just trying to figure out how the scope is passed in a OAuth request. I guess that's not how it's done. I'm not an expert coder, so it's hard for me to follow all the inherited classes and static references. This is my Java code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< DocsService client ; GoogleOAuthParameters para = new GoogleOAuthParameters(); para.setOAuthConsumerKey("example.org"); para.setOAuthConsumerSecret("secret"); para.setScope("http://docs.google.com/feeds/%20http://spreadsheets.google.com/feeds/% 20http://docs.googleusercontent.com/"); OAuthHmacSha1Signer signer = new OAuthHmacSha1Signer(); client = new DocsService("test"); client.setOAuthCredentials(para, signer); URL documentListFeedUrl = new URL("http://docs.google.com/feeds/default/private/full? xoauth_requestor_id=elandy@mhasp.org"); DocumentListFeed feed = client.getFeed(documentListFeedUrl, DocumentListFeed.class); for (DocumentListEntry entry : feed.getEntries()) { AclFeed aclfd ; DocumentListAclFeedLink aclfdlink ; aclfdlink = entry.getAclFeedLink(); System.out.println(entry.getTitle().getPlainText()); System.out.println(aclfdlink.getHref()); String docType = entry.getType(); String extension = "nothing"; if (docType.equals("document")) { extension = "odt"; } else if (docType.equals("spreadsheet")) { extension = "ods"; } else if (docType.equals("presentation")) { extension = "ppt"; } else if (docType.equals("pdf")) { extension = "pdf"; } aclfd = client.getFeed(new URL(aclfdlink.getHref() + "? xoauth_requestor_id=elandy@mhasp.org") , AclFeed.class ); if (extension != "nothing"){ downloadDocument(entry,"C:/test15/" + entry.getDocId() + "." + extension, client); } for (AclEntry e : aclfd.getEntries() ){ System.out.println(e.getScope().getValue() + " - " + e.getRole().getValue()); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Hello, I'm just trying to figure out how the scope is passed in a OAuth request. I guess that's not how it's done. I'm not an expert coder, so it's hard for me to follow all the inherited classes and static references. This is my Java code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< DocsService client ; GoogleOAuthParameters para = new GoogleOAuthParameters(); para.setOAuthConsumerKey("example.org"); para.setOAuthConsumerSecret("secret"); para.setScope("http://docs.google.com/feeds/%20http://spreadsheets.google.com/feeds/% 20http://docs.googleusercontent.com/"); OAuthHmacSha1Signer signer = new OAuthHmacSha1Signer(); client = new DocsService("test"); client.setOAuthCredentials(para, signer); URL documentListFeedUrl = new URL("http://docs.google.com/feeds/default/private/full? xoauth_requestor_id=elandy@mhasp.org"); DocumentListFeed feed = client.getFeed(documentListFeedUrl, DocumentListFeed.class); for (DocumentListEntry entry : feed.getEntries()) { AclFeed aclfd ; DocumentListAclFeedLink aclfdlink ; aclfdlink = entry.getAclFeedLink(); System.out.println(entry.getTitle().getPlainText()); System.out.println(aclfdlink.getHref()); String docType = entry.getType(); String extension = "nothing"; if (docType.equals("document")) { extension = "odt"; } else if (docType.equals("spreadsheet")) { extension = "ods"; } else if (docType.equals("presentation")) { extension = "ppt"; } else if (docType.equals("pdf")) { extension = "pdf"; } aclfd = client.getFeed(new URL(aclfdlink.getHref() + "? xoauth_requestor_id=elandy@mhasp.org") , AclFeed.class ); if (extension != "nothing"){ downloadDocument(entry,"C:/test15/" + entry.getDocId() + "." + extension, client); } for (AclEntry e : aclfd.getEntries() ){ System.out.println(e.getScope().getValue() + " - " + e.getRole().getValue()); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Yesterday

  • 28 hours ago
    issue 300 (Trouble Downloading pdfs with OAuth) changed by fmantek   -   I am confused. Are you using OAuth or AuthSub? There is no getRequestURL used in oauth, only in authsub, so i am kind of unsure how you did that in the java library. Can you show me the java code you used?
    Status: Reviewed
    Owner: fmantek
    I am confused. Are you using OAuth or AuthSub? There is no getRequestURL used in oauth, only in authsub, so i am kind of unsure how you did that in the java library. Can you show me the java code you used?
    Status: Reviewed
    Owner: fmantek

Last 7 days

  • Dec 14, 2009
    issue 305 (Cannot retrieve Document ACLs.) changed by fmantek   -   I just checked in very similiar changes, and a little cover class into the ACL assembly. This allows you to write code like this: http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/src/unittests/documentslive.cs#275
    Status: Fixed
    Owner: fmantek
    I just checked in very similiar changes, and a little cover class into the ACL assembly. This allows you to write code like this: http://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/src/unittests/documentslive.cs#275
    Status: Fixed
    Owner: fmantek
  • Dec 14, 2009
    r966 (Bugfix 305 - Acl retrieval on doclist failed, plus an ACL mo...) committed by fmantek   -   Bugfix 305 - Acl retrieval on doclist failed, plus an ACL model class
    Bugfix 305 - Acl retrieval on doclist failed, plus an ACL model class
  • Dec 11, 2009
    issue 305 (Cannot retrieve Document ACLs.) commented on by edwin.landy   -   Good news! If you make the code change above, the Acl issue will be fixed. I must have made a change to another part of the code that prevented the role and scope from populating. I checked out the code again today fresh, and when I made the change above it now works. Please note that we still have the problem with pdfs. I get a 401 unauthorized error when I try to get the Acl of a pdf, just like when I try to download them. I'm nearly certain that this is a request scope issue.
    Good news! If you make the code change above, the Acl issue will be fixed. I must have made a change to another part of the code that prevented the role and scope from populating. I checked out the code again today fresh, and when I made the change above it now works. Please note that we still have the problem with pdfs. I get a 401 unauthorized error when I try to get the Acl of a pdf, just like when I try to download them. I'm nearly certain that this is a request scope issue.
  • Dec 10, 2009
    issue 305 (Cannot retrieve Document ACLs.) reported by edwin.landy   -   What steps will reproduce the problem? When I try to get a document's ACL using the DocumentsService and ACLQuery, the resulting feed yields an empty AclEntry Collection using the latest release. I did troubleshooting, and was able to modify the documentsService to fill the AclFeed with AclEntries, but the AclScope and AclRole properties are still not populating. Maybe you guys can help.. In the documentsService class I added an "If" statement to the OnNewFeed Sub, similiar to what's in the CalendarService. I changed it to read: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< protected void OnNewFeed(object sender, ServiceEventArgs e) { Tracing.TraceMsg("Created new Documents Feed"); if (e == null) { throw new ArgumentNullException("e"); } else if (e.Uri.AbsoluteUri.IndexOf("/acl") != -1) { e.Feed = new AclFeed(e.Uri, e.Service); } else { e.Feed = new DocumentsFeed(e.Uri, e.Service); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This change allows the population of entries, but leaves the Scope and Role properties empty. Can't figure out how to fix it.
    What steps will reproduce the problem? When I try to get a document's ACL using the DocumentsService and ACLQuery, the resulting feed yields an empty AclEntry Collection using the latest release. I did troubleshooting, and was able to modify the documentsService to fill the AclFeed with AclEntries, but the AclScope and AclRole properties are still not populating. Maybe you guys can help.. In the documentsService class I added an "If" statement to the OnNewFeed Sub, similiar to what's in the CalendarService. I changed it to read: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< protected void OnNewFeed(object sender, ServiceEventArgs e) { Tracing.TraceMsg("Created new Documents Feed"); if (e == null) { throw new ArgumentNullException("e"); } else if (e.Uri.AbsoluteUri.IndexOf("/acl") != -1) { e.Feed = new AclFeed(e.Uri, e.Service); } else { e.Feed = new DocumentsFeed(e.Uri, e.Service); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This change allows the population of entries, but leaves the Scope and Role properties empty. Can't figure out how to fix it.
  • Dec 10, 2009
    issue 300 (Trouble Downloading pdfs with OAuth) commented on by edwin.landy   -   I noticed that there is a scope parameter in the getRequestURL method in the authsubutil.cs file, but I can't find what value is being passed to it when it's called. I downloaded a pdf sucessfully with the java client library with a scope of "http://docs.google.com/feeds/%20http://spreadsheets.google.com/feeds/%20http://docs.go ogleusercontent.com/", but can't figure out how to set scope in the .net library. If we can find a way to pass the correct scope in getRequestURL, we may have a solution.
    I noticed that there is a scope parameter in the getRequestURL method in the authsubutil.cs file, but I can't find what value is being passed to it when it's called. I downloaded a pdf sucessfully with the java client library with a scope of "http://docs.google.com/feeds/%20http://spreadsheets.google.com/feeds/%20http://docs.go ogleusercontent.com/", but can't figure out how to set scope in the .net library. If we can find a way to pass the correct scope in getRequestURL, we may have a solution.
  • Dec 09, 2009
    issue 304 (Can't delete Web Album after add/remove photos from it.) reported by G.Talk.G   -   What steps will reproduce the problem? 1. Create new Web Album in Picasa service. 2. Add some photos into new Album. 3. Remove all of photos from the Album. 4. Delete the new created Album, FAILED! What is the expected output? What do you see instead? Should delete Album successfully. When use AtomEntry/AlbumEntry.Delete() function throw a exception. Please use labels and text to provide additional information. I know Picasa can't delete non-empty album, but I've empty the new created Ablum, then delete it due to *FAILED*! Who can tell me why?
    What steps will reproduce the problem? 1. Create new Web Album in Picasa service. 2. Add some photos into new Album. 3. Remove all of photos from the Album. 4. Delete the new created Album, FAILED! What is the expected output? What do you see instead? Should delete Album successfully. When use AtomEntry/AlbumEntry.Delete() function throw a exception. Please use labels and text to provide additional information. I know Picasa can't delete non-empty album, but I've empty the new created Ablum, then delete it due to *FAILED*! Who can tell me why?

Last 30 days

  • Dec 09, 2009
    issue 303 (AclScope constructor is created using GDataParserNameTable.X...) changed by fmantek   -   Fixed and in subversion
    Status: Fixed
    Owner: fmantek
    Fixed and in subversion
    Status: Fixed
    Owner: fmantek
  • Dec 09, 2009
    r965 (Bugfix 303. AclScope would initialize with the wrong local n...) committed by fmantek   -   Bugfix 303. AclScope would initialize with the wrong local name.
    Bugfix 303. AclScope would initialize with the wrong local name.
  • Dec 09, 2009
    issue 298 (RetrieveAllUsers Method only returns the first 200 users. ) Status changed by fmantek   -   Then i declare it FIXED :)
    Status: Fixed
    Then i declare it FIXED :)
    Status: Fixed
  • Dec 08, 2009
    r964 (Forgot the new test case.) committed by fmantek   -   Forgot the new test case.
    Forgot the new test case.
  • Dec 08, 2009
    issue 300 (Trouble Downloading pdfs with OAuth) commented on by edwin.landy   -   Forgot to write that trying to download pdfs with two-Legged Oauth gives a 401 - Unauthorized error.
    Forgot to write that trying to download pdfs with two-Legged Oauth gives a 401 - Unauthorized error.
  • Dec 08, 2009
    issue 298 (RetrieveAllUsers Method only returns the first 200 users. ) commented on by edwin.landy   -   Thanks Frank, It works now!
    Thanks Frank, It works now!
  • Dec 08, 2009
    issue 303 (AclScope constructor is created using GDataParserNameTable.X...) reported by ATGard...@gmail.com   -   The constructor should call the base with AclNameTable.XmlAclScopeElement, so that following calls to AclEntry.Scope will find the scope entry in its extensionlist. I've added a small patch that fixes the bug.
    The constructor should call the base with AclNameTable.XmlAclScopeElement, so that following calls to AclEntry.Scope will find the scope entry in its extensionlist. I've added a small patch that fixes the bug.
  • Dec 08, 2009
    issue 302 (TokenCollection CreateDictionary method is broken (when used...) commented on by ATGard...@gmail.com   -   I guess so.. The Next link uri has a "&start-key=somekindalongstringykey" element in it. I just parsed it into a private field, when creating a DocumentsListQuery (actually, when creating my subclass), and later re-written it in the uri in CalculateQuery. This way I was able to start by reading 15 elements in the first query (for example), and then for the 2nd and following chunks, increase the number to 100 easily (without strin editing the next link uri outside of the query object).
    I guess so.. The Next link uri has a "&start-key=somekindalongstringykey" element in it. I just parsed it into a private field, when creating a DocumentsListQuery (actually, when creating my subclass), and later re-written it in the uri in CalculateQuery. This way I was able to start by reading 15 elements in the first query (for example), and then for the 2nd and following chunks, increase the number to 100 easily (without strin editing the next link uri outside of the query object).
  • Dec 08, 2009
    issue 302 (TokenCollection CreateDictionary method is broken (when used...) commented on by fmantek   -   startkey is refering to the token they are introducing in doclist 3.0?
    startkey is refering to the token they are introducing in doclist 3.0?
  • Dec 08, 2009
    issue 293 (Using StreamSendAsync to for async upload does not return th...) Merged into changed by fmantek   -   This issue was closed by revision r963.
    This issue was closed by revision r963.
  • Dec 08, 2009
    r963 (Fixed issue 299 - feed.Parse() when called more than once on...) committed by fmantek   -   Fixed issue 299 - feed.Parse() when called more than once on the same object, did not reset collections, hence .NEXT operation might be screwed. Fixed issue 293 : improvements to the Async code submitted by ATGardner.
    Fixed issue 299 - feed.Parse() when called more than once on the same object, did not reset collections, hence .NEXT operation might be screwed. Fixed issue 293 : improvements to the Async code submitted by ATGardner.
  • Dec 08, 2009
    issue 293 (Using StreamSendAsync to for async upload does not return th...) Status changed by fmantek   -   Thanks for the work. Applied, tested, and checked in. Frank
    Status: Fixed
    Thanks for the work. Applied, tested, and checked in. Frank
    Status: Fixed
  • Dec 08, 2009
    issue 299 (Accessing Reminders collection results in System.OutOfMemory...) Status changed by fmantek   -   Sounds good to me. Let me know what we should change so that this is easier for you to understand. Frank m
    Status: Invalid
    Sounds good to me. Let me know what we should change so that this is easier for you to understand. Frank m
    Status: Invalid
  • Dec 08, 2009
    issue 298 (RetrieveAllUsers Method only returns the first 200 users. ) changed by fmantek   -   Thanks for the detailed bug report. This helped a lot. The bug is that feed.Parse() did not take into account that it might be called several times on the same object. I modified the .Parse() implementation to reset it's collections before parsing. If you would be so kind to download new DLLs from the subversion repository and try out if that fixes your issue. Frank Mantek Google
    Status: Reviewed
    Owner: fmantek
    Thanks for the detailed bug report. This helped a lot. The bug is that feed.Parse() did not take into account that it might be called several times on the same object. I modified the .Parse() implementation to reset it's collections before parsing. If you would be so kind to download new DLLs from the subversion repository and try out if that fixes your issue. Frank Mantek Google
    Status: Reviewed
    Owner: fmantek
  • Dec 08, 2009
    issue 302 (TokenCollection CreateDictionary method is broken (when used...) commented on by ATGard...@gmail.com   -   I created a subclass of DocumentsListQuery with a StartKey property, and overridden the ParseUri and CalculateQuery methods so they will handle the property correctly, so I can create a new Query object with the StartKey I received from a previous query, and then change its other properties before resubmitting it (I needed to change the NumberToRetrieve for the 2nd chunk). I thought about using the CreateDictionary for the parsing, but at the end I just used a different approach. It might be useful to handle the StartKey in the "real" DocumentsListQuery class as well, if you'd like the code.
    I created a subclass of DocumentsListQuery with a StartKey property, and overridden the ParseUri and CalculateQuery methods so they will handle the property correctly, so I can create a new Query object with the StartKey I received from a previous query, and then change its other properties before resubmitting it (I needed to change the NumberToRetrieve for the 2nd chunk). I thought about using the CreateDictionary for the parsing, but at the end I just used a different approach. It might be useful to handle the StartKey in the "real" DocumentsListQuery class as well, if you'd like the code.
  • Dec 08, 2009
    r962 (Bugfix 301 - NumberToRetrieve was marked obsolete in Doclist...) committed by fmantek   -   Bugfix 301 - NumberToRetrieve was marked obsolete in Doclist3.0 by mistake Added unittests for the new Authentictor code
    Bugfix 301 - NumberToRetrieve was marked obsolete in Doclist3.0 by mistake Added unittests for the new Authentictor code
  • Dec 08, 2009
    issue 301 (DocumentsListQuery.NumberToRetrieve should not be deprecated...) changed by fmantek   -   You are correct. My mistake. Fixed in subversion. Frank Mantek
    Status: Fixed
    Owner: fmantek
    You are correct. My mistake. Fixed in subversion. Frank Mantek
    Status: Fixed
    Owner: fmantek
  • Dec 08, 2009
    issue 302 (TokenCollection CreateDictionary method is broken (when used...) Status changed by fmantek   -   I should make those internal, they are only used to parse certain response bodies. What are you using them for? Frank
    Status: Reviewed
    I should make those internal, they are only used to parse certain response bodies. What are you using them for? Frank
    Status: Reviewed
  • Dec 08, 2009
    Roadmap (What is in store for the .NET SDK, what are we working on) Wiki page commented on by anidotNET   -   edwin.landy, I know it is upgrading but not adding new apis like projecthsoting api, sidewiki api, translator api etc. etc. I just wanted to ask what about these new api? When they will get added?
    edwin.landy, I know it is upgrading but not adding new apis like projecthsoting api, sidewiki api, translator api etc. etc. I just wanted to ask what about these new api? When they will get added?
  • Dec 08, 2009
    r961 (Fixed the mobile build) committed by fmantek   -   Fixed the mobile build
    Fixed the mobile build
  • Dec 08, 2009
    issue 262 (Error when inserting Post by .NET Blogger API) commented on by fmantek   -   Please open a new bug with more information: code to reproduce your problem. Transcript of the XML send over the wire Tx Frank Mantek Google
    Please open a new bug with more information: code to reproduce your problem. Transcript of the XML send over the wire Tx Frank Mantek Google
  • Dec 07, 2009
    issue 302 (TokenCollection CreateDictionary method is broken (when used...) reported by ATGard...@gmail.com   -   What steps will reproduce the problem? 1. Try using that method on a TokenCollection, it fails Firstly - the split method leaves an empty string as the first token. Secondly - the CreateDictionary method expects each token to be either a key OR a value (after splitting the uri around { '?', '&', '=' }), while the DocumentsListQuery only splits around { '?', '&' } - each token is a "key=value" string. This means that even after skipping over the first token (can be done easily in several ways), it still won't work as expected (- it won't create a valid dictionary).
    What steps will reproduce the problem? 1. Try using that method on a TokenCollection, it fails Firstly - the split method leaves an empty string as the first token. Secondly - the CreateDictionary method expects each token to be either a key OR a value (after splitting the uri around { '?', '&', '=' }), while the DocumentsListQuery only splits around { '?', '&' } - each token is a "key=value" string. This means that even after skipping over the first token (can be done easily in several ways), it still won't work as expected (- it won't create a valid dictionary).
  • Dec 06, 2009
    issue 262 (Error when inserting Post by .NET Blogger API) commented on by reenadadwal83   -   I am trying to post with author also but still getting the same error. please help me to fix this at earliest. thanks in advance. regards navjot
    I am trying to post with author also but still getting the same error. please help me to fix this at earliest. thanks in advance. regards navjot
  • Dec 05, 2009
    issue 293 (Using StreamSendAsync to for async upload does not return th...) commented on by ATGard...@gmail.com   -   Here is my fixed patch, with the HandleResponseStream and the AsyncData construtor.
    Here is my fixed patch, with the HandleResponseStream and the AsyncData construtor.
  • Dec 05, 2009
    issue 301 (DocumentsListQuery.NumberToRetrieve should not be deprecated...) reported by danikenan   -   Name of API affected: Documents List Data API Issue summary: DocumentsListQuery.NumberToRetrieve has been deprecated in documents3 C# api, stating that "Index based paging is not supported on DocumentsList". However NumberToRetrieve is not only used by index based paging but also in "NextChunk" style paging (which is still supported). Only the DocumentsListQuery.StartIndex should have been deprecated. Expected output: Remove DocumentsListQuery.NumberToRetrieve override from DocumentsListQuery so that base implementaion is called and 'max-results' is filled with the assigned value when building the query url.
    Name of API affected: Documents List Data API Issue summary: DocumentsListQuery.NumberToRetrieve has been deprecated in documents3 C# api, stating that "Index based paging is not supported on DocumentsList". However NumberToRetrieve is not only used by index based paging but also in "NextChunk" style paging (which is still supported). Only the DocumentsListQuery.StartIndex should have been deprecated. Expected output: Remove DocumentsListQuery.NumberToRetrieve override from DocumentsListQuery so that base implementaion is called and 'max-results' is filled with the assigned value when building the query url.
  • Dec 04, 2009
    issue 299 (Accessing Reminders collection results in System.OutOfMemory...) commented on by RVCTinker   -   Frank, Thanks - let me get back to you on this - close this if you need to... I think that while the error/problem should not have happened, I believe that my lack of understanding of some things may have led me to it. I also could not reproduce it on another development machine running XP, so it could even be a Vista thing (God I hate Vista). Thanks for looking at it and I will re-open the issue if I am still having problems. R. Tinker
    Frank, Thanks - let me get back to you on this - close this if you need to... I think that while the error/problem should not have happened, I believe that my lack of understanding of some things may have led me to it. I also could not reproduce it on another development machine running XP, so it could even be a Vista thing (God I hate Vista). Thanks for looking at it and I will re-open the issue if I am still having problems. R. Tinker
  • Dec 04, 2009
    r960 (Work in progress: resumable upload and isolating the authent...) committed by fmantek   -   Work in progress: resumable upload and isolating the authenticaton code to be reusable. Do not sync to this yet :)
    Work in progress: resumable upload and isolating the authenticaton code to be reusable. Do not sync to this yet :)
  • Dec 04, 2009
    Roadmap (What is in store for the .NET SDK, what are we working on) Wiki page commented on by edwin.landy   -   AnidotNET, There is work being done, but there haven't been releases. Checkout the source code. I don't know how many resources Google is putting into the Library. IMHO, .Net is a much better platform than Java. I've been fighting going to Java tooth and nail. It'd also be nice for Google. If they put more into it, they might get more corporate clients.
    AnidotNET, There is work being done, but there haven't been releases. Checkout the source code. I don't know how many resources Google is putting into the Library. IMHO, .Net is a much better platform than Java. I've been fighting going to Java tooth and nail. It'd also be nice for Google. If they put more into it, they might get more corporate clients.
  • Dec 03, 2009
    Roadmap (What is in store for the .NET SDK, what are we working on) Wiki page commented on by anidotNET   -   My question is why the .net gdata library is not in sync with the java release? The .net library is too old. What is the reason that you guys quit developing the .net gdata library? We .net developers facing a bit problem. It will be so nice of you if you guys take care of it. Thanks.
    My question is why the .net gdata library is not in sync with the java release? The .net library is too old. What is the reason that you guys quit developing the .net gdata library? We .net developers facing a bit problem. It will be so nice of you if you guys take care of it. Thanks.
  • Dec 03, 2009
    issue 300 (Trouble Downloading pdfs with OAuth) reported by edwin.landy   -   I'm having trouble downloading pdfs with OAuth authentication. I'm guessing that this is because the OAuth token is not valid for http://docs.googleusercontent.com as referenced in the doclist api protocol Guide. I don't have any trouble downloading other documents. The URI I'm using is: https://doc-00-2c- docs.googleusercontent.com/docs/secure/937kb54oubd26hn4q5o3gg0ca57jj581/llg7n 7ct66743lcl59t25nf57fhu083t/1259884800000/07260511482956433212/07260511482956 433212/0B3vtqvLO2oHIYjIxZjAyYjctMjFhMy00OWRjLWFmYmQtYzVhMjVjMWE2OTNi? h=13889196950126002996&e=download&gd=true
    I'm having trouble downloading pdfs with OAuth authentication. I'm guessing that this is because the OAuth token is not valid for http://docs.googleusercontent.com as referenced in the doclist api protocol Guide. I don't have any trouble downloading other documents. The URI I'm using is: https://doc-00-2c- docs.googleusercontent.com/docs/secure/937kb54oubd26hn4q5o3gg0ca57jj581/llg7n 7ct66743lcl59t25nf57fhu083t/1259884800000/07260511482956433212/07260511482956 433212/0B3vtqvLO2oHIYjIxZjAyYjctMjFhMy00OWRjLWFmYmQtYzVhMjVjMWE2OTNi? h=13889196950126002996&e=download&gd=true
  • Dec 03, 2009
    issue 293 (Using StreamSendAsync to for async upload does not return th...) commented on by ATGard...@gmail.com   -   I will put that in the patch on Sunday, if you'd like.
    I will put that in the patch on Sunday, if you'd like.
  • Dec 02, 2009
    issue 298 (RetrieveAllUsers Method only returns the first 200 users. ) commented on by edwin.landy   -   I found out why it's only returning 200 entries. In the userservice.cs file, in the Query method, a call to feed.Parse leaves the original "next" AtomLink in the feed and appends the new "next" AtomLink to the feed. When a call to feed.Links.FindService("next", null) is made, it returns the first "next" AtomLink it finds, when it should return the AtomLink from the last call. I made a change in my copy of the code as a temporary fix, but I'd imagine that you guys would want to change the behavior of wherever the feed.Parse call goes. To get it to work for me I got a list of all the "next" AtomLinks, and used the last in the list for my new Uri. Sorry I didn't go further with it, but I'm a VB guy. Semicolons and squiggly brackets make me agitated. :) I changed the code to: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public UserFeed Query(UserQuery feedQuery) { try { Stream feedStream = Query(feedQuery.Uri); UserFeed feed = new UserFeed(feedQuery.Uri, this); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); if (feedQuery.RetrieveAllUsers) { AtomLink next, prev = null; List<AtomLink> nexts; prev = new AtomLink(); next = feed.Links.FindService("next", null); while ((next != null) && (next.HRef != prev.HRef)) { prev = next; feedStream = Query(new Uri(next.HRef.ToString())); feed.Parse(feedStream,AlternativeFormat.Atom); feedStream.Close(); nexts = feed.Links.FindServiceList("next", null); next = nexts[nexts.Count - 1]; } } return feed; } catch (GDataRequestException e) { AppsException a = AppsException.ParseAppsException(e); throw (a == null ? e : a); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> From: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public UserFeed Query(UserQuery feedQuery) { try { Stream feedStream = Query(feedQuery.Uri); UserFeed feed = new UserFeed(feedQuery.Uri, this); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); if (feedQuery.RetrieveAllUsers) { AtomLink next, prev = null; while ((next = feed.Links.FindService("next", null)) != null && next != prev) { feedStream = Query(new Uri(next.HRef.ToString())); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); prev = next; } } return feed; } catch (GDataRequestException e) { AppsException a = AppsException.ParseAppsException(e); throw (a == null ? e : a); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    I found out why it's only returning 200 entries. In the userservice.cs file, in the Query method, a call to feed.Parse leaves the original "next" AtomLink in the feed and appends the new "next" AtomLink to the feed. When a call to feed.Links.FindService("next", null) is made, it returns the first "next" AtomLink it finds, when it should return the AtomLink from the last call. I made a change in my copy of the code as a temporary fix, but I'd imagine that you guys would want to change the behavior of wherever the feed.Parse call goes. To get it to work for me I got a list of all the "next" AtomLinks, and used the last in the list for my new Uri. Sorry I didn't go further with it, but I'm a VB guy. Semicolons and squiggly brackets make me agitated. :) I changed the code to: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public UserFeed Query(UserQuery feedQuery) { try { Stream feedStream = Query(feedQuery.Uri); UserFeed feed = new UserFeed(feedQuery.Uri, this); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); if (feedQuery.RetrieveAllUsers) { AtomLink next, prev = null; List<AtomLink> nexts; prev = new AtomLink(); next = feed.Links.FindService("next", null); while ((next != null) && (next.HRef != prev.HRef)) { prev = next; feedStream = Query(new Uri(next.HRef.ToString())); feed.Parse(feedStream,AlternativeFormat.Atom); feedStream.Close(); nexts = feed.Links.FindServiceList("next", null); next = nexts[nexts.Count - 1]; } } return feed; } catch (GDataRequestException e) { AppsException a = AppsException.ParseAppsException(e); throw (a == null ? e : a); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> From: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public UserFeed Query(UserQuery feedQuery) { try { Stream feedStream = Query(feedQuery.Uri); UserFeed feed = new UserFeed(feedQuery.Uri, this); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); if (feedQuery.RetrieveAllUsers) { AtomLink next, prev = null; while ((next = feed.Links.FindService("next", null)) != null && next != prev) { feedStream = Query(new Uri(next.HRef.ToString())); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); prev = next; } } return feed; } catch (GDataRequestException e) { AppsException a = AppsException.ParseAppsException(e); throw (a == null ? e : a); } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  • Dec 02, 2009
    issue 299 (Accessing Reminders collection results in System.OutOfMemory...) changed by fmantek   -   Can you pinpoint the XML that is causing this? (like trace the entry with fiddler2 and paste me the xml into here? ) That would be very helpful. Frank Mantek
    Status: Reviewed
    Owner: fmantek
    Can you pinpoint the XML that is causing this? (like trace the entry with fiddler2 and paste me the xml into here? ) That would be very helpful. Frank Mantek
    Status: Reviewed
    Owner: fmantek
  • Dec 02, 2009
    issue 299 (Accessing Reminders collection results in System.OutOfMemory...) commented on by RVCTinker   -   The error is happening on an appointment with recurrence and the user's default reminder.
    The error is happening on an appointment with recurrence and the user's default reminder.
  • Dec 02, 2009
    r959 (Added an OAuth enabling constructor to YouTubeRequestSetting...) committed by fmantek   -   Added an OAuth enabling constructor to YouTubeRequestSettings. Removed the ClientID parameter from all YouTubeRequestSettings constructors, as this parameter is not used anymore in the YouTubeService
    Added an OAuth enabling constructor to YouTubeRequestSettings. Removed the ClientID parameter from all YouTubeRequestSettings constructors, as this parameter is not used anymore in the YouTubeService
  • Dec 01, 2009
    issue 299 (Accessing Reminders collection results in System.OutOfMemory...) reported by RVCTinker   -   What steps will reproduce the problem? 1. When processing calendar entries with the .NET library to produce an agenda report, a call is made: If calEntry.Reminders IsNot Nothing... and the system goes off and spins its wheels for a while, eventually throwing the exception: Exception accessing Reminders property for calendar: Exception of type 'System.OutOfMemoryException' was thrown. 2. 3. What is the expected output? Testing to see if an object reference (Reminders collection) is valid should not cause an error - it is done to prevent an error. What do you see instead? Much delay and then a System.OutOfMemoryException thrown by the GData .NET DLL. Please use labels and text to provide additional information.
    What steps will reproduce the problem? 1. When processing calendar entries with the .NET library to produce an agenda report, a call is made: If calEntry.Reminders IsNot Nothing... and the system goes off and spins its wheels for a while, eventually throwing the exception: Exception accessing Reminders property for calendar: Exception of type 'System.OutOfMemoryException' was thrown. 2. 3. What is the expected output? Testing to see if an object reference (Reminders collection) is valid should not cause an error - it is done to prevent an error. What do you see instead? Much delay and then a System.OutOfMemoryException thrown by the GData .NET DLL. Please use labels and text to provide additional information.
  • Dec 01, 2009
    issue 298 (RetrieveAllUsers Method only returns the first 200 users. ) reported by edwin.landy   -   What steps will reproduce the problem? 1. Call the RetrieveAllUsers Method from the AppService Class What is the expected output? What do you see instead? A feed of all the users in my domain What version of the product are you using? On what operating system? r958 Windows 7 Please provide any additional information below. An application I wrote using a version of gdata from Feb. 2009 still returns all users, but when I use a more current version of gdata, I only get 200 user in my domain. The issue appears in r952 also. The code below will output "200" to the console: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Dim appsService As New Google.GData.Apps.AppsService("example.org", "user@example.org", "Password") Dim users As Google.GData.Apps.UserFeed Dim count As Integer = 0 users = appsService.RetrieveAllUsers For Each u As Google.GData.Apps.UserEntry In users.Entries count += 1 Next Console.WriteLine(count.ToString) Console.ReadLine() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    What steps will reproduce the problem? 1. Call the RetrieveAllUsers Method from the AppService Class What is the expected output? What do you see instead? A feed of all the users in my domain What version of the product are you using? On what operating system? r958 Windows 7 Please provide any additional information below. An application I wrote using a version of gdata from Feb. 2009 still returns all users, but when I use a more current version of gdata, I only get 200 user in my domain. The issue appears in r952 also. The code below will output "200" to the console: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Dim appsService As New Google.GData.Apps.AppsService("example.org", "user@example.org", "Password") Dim users As Google.GData.Apps.UserFeed Dim count As Integer = 0 users = appsService.RetrieveAllUsers For Each u As Google.GData.Apps.UserEntry In users.Entries count += 1 Next Console.WriteLine(count.ToString) Console.ReadLine() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  • Dec 01, 2009
    r958 (Fixing bug: 288, 2legged oauth was broken. Added unittest to...) committed by fmantek   -   Fixing bug: 288, 2legged oauth was broken. Added unittest to verify 2legged oauth.
    Fixing bug: 288, 2legged oauth was broken. Added unittest to verify 2legged oauth.
  • Dec 01, 2009
    issue 288 (OAuth Broken) Status changed by fmantek   -   Checked in. 2legged oauth works again. Will test 3legged tomorrow.
    Status: Fixed
    Checked in. 2legged oauth works again. Will test 3legged tomorrow.
    Status: Fixed
  • Dec 01, 2009
    issue 283 (How to upload the image documents for OCR) changed by fmantek   -   No comment. no bug
    Status: Invalid
    Owner: fmantek
    No comment. no bug
    Status: Invalid
    Owner: fmantek
  • Dec 01, 2009
    issue 297 (Can't delete AtomEntry after update entry's property in Pica...) Status changed by fmantek   -   Glad it is working for you. Frank Mantek
    Status: ByDesign
    Glad it is working for you. Frank Mantek
    Status: ByDesign