Git Product home page Git Product logo

gdata-objectivec-client's Introduction

Google Data APIs Objective-C Client Library

Project site https://github.com/google/gtm-oauth
Discussion group http://groups.google.com/group/gdata-objectivec-client

The Google data APIs provide a simple protocol for reading and writing data on the web. Many Google services provide a Google data API.


This library is for Google XML APIs. For JSON APIs, use the Google APIs Client Library for Objective-C for REST.

Each of the following Google services provides a Google Data API supported by this library:


This library should no longer be used for these APIs:

The Google Data APIs Objective-C Client Library provides an iPhone static library, a Mac OS X framework, and source code that make it easy to access data through Google Data APIs.

To get started with Google data APIs and the Objective-C Client Library, look at the overview slides, read the introduction and study the example applications.

If you have a problem or want a new feature to be included in the Google Data Objective-C Client Library, please join the discussion group or submit an issue.

Externally-included projects

The library includes code from the separate projects GTM HTTP Fetcher and GTM OAuth 2

Other useful classes for Mac and iPhone developers are available in the Google Toolbox for Mac.

gdata-objectivec-client's People

Contributors

dmaclach avatar gmrobbins avatar sanhue0302 avatar sergiocampama avatar thomasvl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gdata-objectivec-client's Issues

Selector for upload progress

Right now in GDataHTTPFetcher there is a delegate call to track progress of 
data that is getting 
received:

//  - (void)myFetcher:(GDataHTTPFetcher *)fetcher receivedData:(NSData 
*)dataReceivedSoFar;

Not so for data that is being uploaded/sent. But NSURLConnection does have the 
following delegate 
method that could be used to implement a similar delegate on the 
GDataHTTPFetcher:

- (void)connection:(NSURLConnection *)connection 
didSendBodyData:(NSInteger)bytesWritten 
totalBytesWritten:(NSINteger)totalBytesWritten 
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite


Original issue reported on code.google.com by tcurdt on 24 Aug 2009 at 12:08

Build failure due to removal of NSTask from IPhone SDK 3.0

What steps will reproduce the problem?
1. Using IPhone SDK 3.0, follow instructions to link GData Source into xcode 
project
2. Attempt to build project
3. Build fails with messages   
...Source/Networking/GDataHTTPFetcherLogging.m:224: error: 'NSTask' undeclared 
(first use in 
...Source/Networking/GDataHTTPFetcherLogging.m:224: error: 'task' undeclared 
(first use in this 
function)

What is the expected output? What do you see instead?
Expect it to build without an problem, instead build is failing with messages 
above

What version of the product are you using? On what operating system?
-Mac OS 10.5.6
-Iphone SDK 3.0 Beta 3
-Xcode 3.1.3, pre release

Please provide any additional information below.
-based on release notes, it appears that some of the foundation API has been 
removed from the 
Iphone SDK, NSTask being one of those removed, that means moving forward any 
iPhone apps 
built on top of this framework will not build.

Original issue reported on code.google.com by [email protected] on 18 Apr 2009 at 4:12

Typo in README.txt: avaliable -> available

There's a small typo in the README.txt file that's distributed with the client. 
See patch below...

Index: README.txt
=============================================================
======
--- README.txt  (revision 136)
+++ README.txt  (working copy)
@@ -1,4 +1,4 @@
 Information on using the Goodle Data APIs Objective-C Client Library 
-is avaliable at
+is available at

Original issue reported on code.google.com by [email protected] on 17 Jul 2008 at 11:35

GDataFeedbase calls setupFromXMLElement twice when init'd with data

This is for gdata-objectivec-client version 1.7.

What steps will reproduce the problem?
1. retrieve an Atom feed with a single Entry
2. Instantiate a GDataFeedBase (or subclass) using feedWithXMLData:
3. Get back a feed with two copies of the Entry

What is the expected output? What do you see instead?

When parsing a feed with a single Entry you get back a feed with two entries 
instead.

Please use labels and text to provide additional information.

In fact when instantiating a GDataFeedBase using feedWithXMLData: the 
GDataFeedBase sets up 
the feed twice; it's only apparent when parsing a feed with a single Entry 
because in that case 
the feed adds the entry rather than just setting the entries (when putting them 
in the 
NSMutableArray).

The flow is essentially as follows:

GDataFeedBase feedWithXMLData:
GDataFeedBase initWithData:
GDataFeedBase initWithData:serviceVersion:ignoreUnknowns:

Here's what the bug pops up.
1. That method calls [super 
initWithXMLElement:parent:serviceVersion:surrogates:shouldIgnoreUnknowns:] , 
which hits 
GDataObject's implementation, which calls initWithElement:parent:. That hits 
GDataFeedBase's 
implementation, which calls setupFromXMLElement: (GDataFeedBase's version).
2. The method then calls setupFromXMLElement: again (unnecessarily, since it's 
already gotten 
called).

The duplicate call doesn't show up because if the feed has more than one entry 
then 
GDataFeedBase's version of setupFromXMLElement: calls setEntries:, which 
overrides the initial 
set of entries on the 2nd call. However, if the feed has only one entry then 
setupFromXMLElement:calls addEntry: and you get a duplicate element.

Removing the second call to setupFromXMLElement: in 
initWithData:serviceVersion:ignoreUnknowns: solved the problem for me.


Original issue reported on code.google.com by drjpierce on 5 Jun 2009 at 7:20

[PATCH] fix build on 10.4 with Xcode 2.5

What steps will reproduce the problem?
1. try to build on a 10.4 machine with Xcode 2.5.

What is the expected output?
a successful build.

What do you see instead?
errors caused by the use of the wrong GDATA_FOREACH variant (the new syntax
one that uses "for ... in").

the problem is that MAC_OS_X_VERSION_10_5, which you're using in the guard,
isn't [necessarily] defined on 10.4l; here's one possible fix:

Index: Source/GDataDefines.h
===================================================================
--- Source/GDataDefines.h       (revision 177)
+++ Source/GDataDefines.h       (working copy)
@@ -113,13 +113,14 @@
 // reliance on NSEnumerator for 10.4
 //
 #ifndef GDATA_FOREACH
-  #if defined(TARGET_OS_IPHONE) || MAC_OS_X_VERSION_MIN_REQUIRED >=
MAC_OS_X_VERSION_10_5
+  #if !defined(TARGET_OS_IPHONE) || \
+      MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4
     #define GDATA_FOREACH(element, collection) \
-      for (element in collection)
+      for(id _ ## element ## _enum = [collection objectEnumerator]; \
+          (element = [_ ## element ## _enum nextObject]) != nil; )
   #else
     #define GDATA_FOREACH(element, collection) \
-      for(id _ ## element ## _enum = [collection objectEnumerator]; \
-          (element = [_ ## element ## _enum nextObject]) != nil; )
+      for (element in collection)
   #endif
 #endif


i guess it would be more idiomatic to check defined(MAC_OS_X_VERSION_10_5)
before using it, but that makes the guard very long and awkward. reversing
the sense of the test seemed simpler.

Original issue reported on code.google.com by [email protected] on 7 Jan 2009 at 6:47

Attachments:

Unable to install application in iPhone which uses GData Framework

What steps will reproduce the problem?
1. Open XCode
2. Create a new project and link GData
3. Set Device |  Debug and Run

What is the expected output? What do you see instead?

- Would like to get the application installed on my iPhone and it throws error 
instead.
error: syntax error before 'NSXMLElement'

What version of the product are you using? On what operating system?

XCode 3.1.1 - GData 1.4.0 - iPhone OS 2.0

Please provide any additional information below.

But it works fine with the simulator.

Original issue reported on code.google.com by muthu16 on 29 Jul 2008 at 6:53

GData.framework needs to actually be built 64-bit

What steps will reproduce the problem?
1. Try to link to GData.framework with your "Universal" (32/64-bit) app.


What is the expected output? What do you see instead?

The app should be able to build

What version of the product are you using? On what operating system?

You'll see errors like this:

ld: warning: in (...)/GData.framework/GData, missing required architecture 
x86_64 in file

This is building on 10.6 but I think it will happen in 10.5 as well.


It looks like you want to set the architectures to the standard 32/64 bit 
universal:

ARCHS = $(ARCHS_STANDARD_32_64_BIT)


Since I see you are putting in 64-bit friendly data types like NSInteger, you 
will also need to set 
this, otherwise you get a build error

MACOSX_DEPLOYMENT_TARGET = 10.5



Original issue reported on code.google.com by [email protected] on 23 Jun 2009 at 5:29

Unable to fetchDocEntryByUpdatingEntry a text/plain document

What steps will reproduce the problem?
1. Update an existing text/plain document with a new text/plain document
2.

What is the expected output? What do you see instead?
I would expect to get a call back to my finishedWithEntry.

What version of the product are you using? On what operating system?
Version 1.6 & 1.7 of the gdata-objectivec-client apis.

Please provide any additional information below.

The following code...

        if ([uploadData length]) 
        {
            [aEntry setUploadData:uploadData];
            [aEntry setUploadMIMEType:@"text/plain"];
            [aEntry setUploadSlug:aFileName];

            NSURL   *modifyURL = [[aEntry editLink] URL];
            [myLog writeLogEntry:[NSString stringWithFormat:@"Update Entry URL = %@", 
[modifyURL absoluteString]] error:false];

            // insert the entry into the docList feed
            GDataServiceTicket *ticket;

            ticket = [mService fetchDocEntryByUpdatingEntry:aEntry
                                                 forEntryURL:modifyURL
                                                   delegate:self

didFinishSelector:@selector(uploadFileTicket:finishedWithEntry:)

didFailSelector:@selector(uploadFileTicket:failedWithError:)];

            aResult = true;
            [self setMBusy:true];       
            [self setUploadTicket:ticket];
        }

gets a call to the uploadFileTicket:failedWithError, which for me logs the 
following information:

2009-04-15 11:54:27=uploadFileTicket:GDataServiceTicket 0x138E9440: 
{service:<GDataServiceGoogleDocs: 0x13909ac0> objectFetcher:<GDataHTTPFetcher: 
0x39be80> authFetcher:(null) userData:(null)} failedWithError:Error 
Domain=com.google.GDataServiceDomain Code=400 UserInfo=0x139d3af0 "Operation 
could 
not be completed. (The prefix &quot;docs&quot; for element 
&quot;docs:writersCanInvite&quot; 
is not bound.)"

Original issue reported on code.google.com by [email protected] on 15 Apr 2009 at 7:04

Gdata.framework dynamic linking problem

dyld: Library not loaded:
@loader_path/../Frameworks/GData.framework/Versions/A/GData
  Referenced from: /Users/neilgogte/Library/Application Support/iPhone
Simulator/3.1.3/Applications/CBA9E76D-5044-4E6B-99D1-F77A9B555165/SampleGoogleDa
taApp.app/SampleGoogleDataApp
  Reason: image not found

Original issue reported on code.google.com by [email protected] on 19 Apr 2010 at 3:27

Incorrect exception thrown

What steps will reproduce the problem?
1. Set the user credentials to be null or empty for the username and pass 
in a password on the service.
2. Try and insert a new album
3. Object reference exception thrown

What is the expected output? What do you see instead?
I would expect to see an invalid credentials exception.  Instead I get 
this:
System.NullReferenceException was caught
  Message="Object reference not set to an instance of an object."
  Source="Google.GData.Client"
  StackTrace:
       at Google.GData.Client.Utilities.UriEncodeReserved(String content)
       at Google.GData.Client.GDataGAuthRequest.QueryAuthToken
(GDataCredentials gc)
       at Google.GData.Client.GDataGAuthRequest.EnsureCredentials()
       at Google.GData.Client.GDataRequest.EnsureWebRequest()
       at Google.GData.Client.GDataGAuthRequest.CopyRequestData()
       at Google.GData.Client.GDataGAuthRequest.Execute(Int32 iRetrying)
       at Google.GData.Client.GDataGAuthRequest.Execute()
       at Google.GData.Client.Service.StreamInsert(Uri feedUri, AtomBase 
baseEntry, GDataRequestType type)
       at Google.GData.Client.Service.StreamInsert(Uri feedUri, AtomEntry 
newEntry)
       at Google.GData.Client.Service.Insert(Uri feedUri, AtomEntry 
newEntry)

What version of the product are you using? On what operating system?
The latest version, Vista Ultimate 64.

Please provide any additional information below.
I'm not absolutely positive of what produced the invalid exception, but 
this is what I had discovered.  I should have checked for those things 
first, but was surprised when I got the object reference exception.

Original issue reported on code.google.com by [email protected] on 7 Feb 2008 at 3:23

Reusing GDataOAuthAuthentication with GDataOAuthSignIn fails due to stale token secret

What steps will reproduce the problem?
1. Instantiate a GDataOAuthAuthentication object.
2. Perform a sign in: -[GDataOAuthSignIn startSigningIn], e.g. via 
GDataOAuthViewControllerTouch.
3. Later on, repeat step 2.

What is the expected output? What do you see instead?
A fresh sign-in sequence should happen, starting with obtaining a new OAuth 
request token.  Instead, the 
request token GET request gets signed by the request (or access) token secret 
previously obtained in step 2, 
leading to an incorrect signature.  This results in the server rejecting the 
new token request.

The fix is very simple, as shown below:

--- a/Libraries/gdata-objectivec-client/OAuth/GDataOAuthSignIn.m
+++ b/Libraries/gdata-objectivec-client/OAuth/GDataOAuthSignIn.m
@@ -156,8 +156,11 @@ const NSTimeInterval kDefaultNetworkLossTimeoutInterval = 
30.0;
 - (BOOL)startSigningIn {
   // the authentication object won't have an access token until the access
   // fetcher successfully finishes; any auth token held before then is a request
-  // token
+  // token.  We need to clear the token and secret so that the initial request
+  // doesn't get signed with an old token secret.
   [auth_ setHasAccessToken:NO];
+  [auth_ setToken:nil];
+  [auth_ setTokenSecret:nil];

   // start fetching a request token
   NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:requestURL_];

Original issue reported on code.google.com by [email protected] on 8 May 2010 at 7:12

setUserAgent leaks

What steps will reproduce the problem?
1. Alloc and init a GDataServiceGoogleYoutube
2. set the userAgent ([gDataService
setUserAgent:@"MyAppMyCompany-IPhone-1.0"];)
3. Use the service, (run with leaks)

What is the expected output? What do you see instead?
I have a leak in a general-block-48... I don't if I don't change the userAgent

What version of the product are you using? On what operating system?
I'm using version 1.8.0 on the iPhone OS 3.1

It seems that the leaks start from GDataUtilities.m at line 90.

Regards,
Romain

Original issue reported on code.google.com by [email protected] on 16 Aug 2009 at 2:38

Please tag!

Tag 1.4 breaks Picasa (try the provided sample app). The code in trunk works 
fine with Picasa. 
Please tag when convenient so I can keep on using svn:externals against the tag 
and no the trunk.

Thanks!

Original issue reported on code.google.com by jwight on 10 Oct 2008 at 5:17

GDataServiceGoogleCalendar setUserAgent seems to produce a memory leak

I'm currently using the Objective-C GData SDK (in the iphone environment) using 
the following 
libraries:

           GData Sources
                     Common
                     Calendar

When using the following code snippet, Leaks reports that there is a memory 
leak for 
NFCFString:


    GDataServiceGoogleCalendar *service = [[GDataServiceGoogleCalendar alloc] init];

    [service setUserAgent:@"MyCompany-CalendarHelloWorldMini-1.0"]; 

    [service release];

Original issue reported on code.google.com by [email protected] on 24 Aug 2009 at 3:55

The parameter 'vq' is not available in this version. Please use 'q' instead.

What steps will reproduce the problem?
1. Make a query using the YouTube API

What is the expected output? What do you see instead?
Expect search results
See error saying "The parameter 'vq' is not available in this version. Please 
use 'q' instead."


What version of the product are you using? On what operating system?
GData 1.9.0
OSX Snow
Protocol version 2.0

Please provide any additional information below.
Setting serviceVersion to 1.0 works around the problem.
Looking at GDDataQueryTest.m the expected URI uses the vq parameter 
Setting kVideoQueryParamName in GDataQueryYouTube.m to @"q" fixes the issue

When changing this I obviously see the deprecation note, so why is it still 
used? :P

Original issue reported on code.google.com by Voxxar on 30 Oct 2009 at 1:36

Iphone SDK and youtube entries

I am building an iPhone app to display & play youtube videos using the 
UIWebView class, I was 
under the assumption that the iPhone framework uses the media type of 
'application/x-
shockwave-flash' format "5"  to decide how to videos it can display.  This 
seems to be incorrect, 
looks like the apple plugin actually searches for one of the other types of 
format "1" & "6" and 
uses that for display.  I tried to display a video that only supported format 5 
and the UIWebView 
marked that entry as disabled, cannot play.

I have attached the xml for the entries that successfully showed in UIWebView 
and another that 
failed.

While i know this is not an issue with this Library but rather apple's 
framework, I did not know of 
any other forum to present this information and figure it may be useful to other

I got this results by searching for the term "DJ Drama interviews Big Block".  
In fact if you perform 
that search from iPhone you see that the problem entry is never returned under 
the search 
results, this is the behavior whether the search is done from the you tube app 
or safari on the 
iphone.




Original issue reported on code.google.com by [email protected] on 20 Apr 2009 at 6:24

Attachments:

GDataBlogger.h #import's itself

On line 24, GDataBlogger.h imports itself.  This isn't throwing a warning
or error in the compiler, but it seems like a potentially bad thing :-).  I
suggest deleting line 24.

Here's a chunk of context:

// 
// GDataBlogger.h
//

#import "GDataElements.h"

// Blogger

#import "GDataBlogger.h"



Thanks,
Matt

Original issue reported on code.google.com by [email protected] on 23 Mar 2010 at 10:19

Memory leak with keepChildXMLElementsForElement

Via CLANG

- (void)keepChildXMLElementsForElement:(NSXMLElement *)element {
1983     
[1] Taking true branch.
1984      if (shouldKeepChildXMLElements_) {
1985     
1986        NSArray *children = [element children];
[2] Taking true branch.
1987        if (children != nil) {
1988     
1989          // save only top-level nodes that are elements
1990          NSXMLNode *childNode;
1991     
1992          GDATA_FOREACH(childNode, children) {
[3] Taking true branch.
1993            if ([childNode kind] == NSXMLElementKind) {
[4] Taking false branch.
1994              if (childXMLElements_ == nil) {
1995                childXMLElements_ = [[NSMutableArray alloc] init];
1996              }
[5] Method returns an Objective-C object with a +1 retain count (owning 
reference).
1997              [childXMLElements_ addObject:[childNode copy]];
[6] Object allocated on line 1997 is no longer referenced after this point and 
has a retain count of 
+1 (object leaked).
1998     
1999              [self handleParsedElement:childNode];
2000            }
2001          }
2002        }
2003      }
2004    }
2005     

Original issue reported on code.google.com by [email protected] on 11 Feb 2009 at 5:13

GDataRecurrence could parse its stringValue

It would be nice if GDataRecurrence was able to parse its stringValue 
(implicitly) to spare clients 
from having to write their own parsing implementation and corresponding data 
structures.

I'm interested in helping to work to resolve this issue. I need to parse 
recurrences for my own 
application, anyway, so I'm going to start working on an implementation now, 
but I would be glad 
to contribute it.

Original issue reported on code.google.com by [email protected] on 28 Apr 2007 at 6:38

NSXMLElement/NSXMLDocument don't exist on iPhone

What steps will reproduce the problem?
1. Create a new Cocoa Touch app
2. Drag the GData sources files from the GData project to the new Cocoa Touch 
project
3. Compile in Device mode (not Simulator mode)
4. Observe the lack of NSXMLElement and NSXMLDocument in the iPhone headers.

What is the expected output? What do you see instead?
Expect it to compile properly, instead it uses constructs that aren't defined 
on iPhone.

What version of the product are you using? On what operating system?
I believe this changed with the most recent SDK.  I would suggest Google file a 
bug report or 
complain to Apple, because a little developer like me isn't going to get much 
out of Apple.

Please provide any additional information below.

Ask someone with an iPhone dev account to check out these links:
http://developer.apple.com/iphone/gettingstarted/docs/iphoneosforcocoadevelopers
.action
http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundati
on/ObjC_
classic/Intro/IntroFoundation.html


Original issue reported on code.google.com by [email protected] on 28 Mar 2008 at 10:08

Instructions for linking static library with iPhone app aren't clear

I am trying to use the Calendar API in an iPhone app. I do not understand the 
following line in the 
instructions;

"Drag the static library target from under the Xcode reference in the 
application project to the 
application target's "Link Binary With Libraries" build phase."

What is the "Xcode reference"?

Generally this set of instructions is hard to follow...

Thank you.
Bob Muller

Original issue reported on code.google.com by [email protected] on 11 May 2010 at 9:31

Could not build gdata-objectivec-client-1.5.0 in 10.4.11 / Xcode 2.5

What steps will reproduce the problem?
1. Open gdata-objectivec-client-1.5.0 project with Xcode 2.5
2. Change settings in project.
- Target SDK : Mac OS X 10.4 (Universal)
- compiler : gcc-4.0
- Architecture   : i386 ppc
- Deployment Target : Mac OS X 10.4
- Build target : Release
3. Build Project, but caused an error and can not build.

What is the expected output? What do you see instead?
CompileC build/GData.build/Release/GDataFramework.build/Objects-
normal/ppc/GDataAtomPubControl.o "(Project path)/gdata-objectivec-client-
1.5.0/Source/Elements/GDataAtomPubControl.m" normal ppc objective-c 
com.apple.compilers.gcc.4_0
.
.
.
cc1obj: warnings being treated as errors
(Project 
path)/gdata-objectivec-client-1.5.0/Source/Elements/GDataAtomPubControl.m:26: 
warning: incomplete implementation of class 'GDataAtomPubControl1_0'
(Project 
path)/gdata-objectivec-client-1.5.0/Source/Elements/GDataAtomPubControl.m:26: 
warning: method definition for '-copyWithZone:' not found
(Project 
path)/gdata-objectivec-client-1.5.0/Source/Elements/GDataAtomPubControl.m:26: 
warning: class 'GDataAtomPubControl1_0' does not fully implement the 
'NSCopying' protocol

What version of the product are you using? On what operating system?
Mac OS X 10.4.11 
Xcode 2.5 
Xcode IDE: 799.0
Xcode Core: 798.0
ToolSupport: 794.0

Please use labels and text to provide additional information.
I succeeded to  build "gdata-objectivec-client-1.4.0" by same settings.



Original issue reported on code.google.com by [email protected] on 28 Nov 2008 at 3:11

Inconsistent use of GDATA_FOREACH macro

Fast enumeration support is compiler specific (will not work on Mac OS X
10.4 and some GNU gcc compilers). This patch fixes some places where the
GDATA_FOREACH macro is not used (patch attached from latest SVN).


Original issue reported on code.google.com by [email protected] on 23 Apr 2010 at 5:23

Attachments:

GData error 400 when searching books

What steps will reproduce the problem?
1. Open BooksSample
2. Enter any text in the query field
3. Click the 'Search' button

What is the expected output? What do you see instead?
Instead of the books feed I get the following error:
Error Domain=com.google.GDataServiceDomain Code=400 UserInfo=0x34de30 "The 
operation 
couldn’t be completed. (Link must have an &#39;href&#39; attribute)"

What version of the product are you using? On what operating system?
I was able to reproduce this with versions 1.9 and 1.10 of the 
gdata-objectivec-client

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 14 May 2010 at 2:35

Synchronous API

The APIs are designed to work asynchroneously using delegates.

This can be an issue in some cases. (for GUI-less daemons especially)

There needs to be an API for this. (which works better than waitForTicket: 
which is polling events 
every 1/1000s)



Original issue reported on code.google.com by [email protected] on 13 Jan 2008 at 4:21

NSTask unknown when building for iPhone OS 3.0

I followed the instructions to add GData client libraries to my iPhone OS
3.0 project, and all the settings associated. I managed to get the project
to build for 2.2.1 but when I try for 3.0, I get a build error saying that
NSTask is unknown.


Original issue reported on code.google.com by [email protected] on 28 Jun 2009 at 10:38

Build framework to work in both 32 bit and 64 bits


Note the method in, for example, GDataFramework.h:
      void GDataFrameworkVersion(long* major, long* minor, long* release);

This is ambiguous.  We should use the architecture-safe versions of ints and 
longs.  In the case 
above we can probably get by with NSInteger.  But I'm sure there are many 
instances of this 
ambiguity that need to be resolved.

Suggestion: go through the code with the 
'/Developer/Extras/64BitConversion/ConvertCocoa64' 
script.

Original issue reported on code.google.com by [email protected] on 16 Jun 2009 at 11:29

gain/daysGain/marketValue items are not correct in GDataPortfolioData object in Finance API code.

Version: r161
steps:

1. Use GDataQueryFinance class to fetch position feed, and turn on the
return flag:

GDataQueryFinance * mGDataQueryFinance = [GDataQueryFinance
financeQueryWithFeedURL:feedURL];

[mGDataQueryFinance setShouldIncludeReturns:YES];

2. In the callback method, I got a GDataFeedFinancePosition object contains
some GDataEntryFinancePosition objects.

3. In each GDataEntryFinancePosition object, I can get these items:
costBasis,gain,daysGain,marketValue,gainPercentage..etc.

But the following items is not identical the raw xml data:

  * gain
  * daysGain
  * marketValue

Values of them are all same to costBasis, this is not correct.

and I have changed the GDataPortfolioElements.m file, attachment is the
diff result.




Original issue reported on code.google.com by [email protected] on 12 Nov 2008 at 8:12

Attachments:

Unable to connect to schemas.google.com

What steps will reproduce the problem?
1. include the GData framework
2. I used kGDataLinkWorksheetsFeed to connect which is defined in
GDataEntrySpreadsheet.h line 39.  It is defined as
http://schemas.google.com/spreadsheets/2006#worksheetsfeed
3. Returned 404 could not find domain.

What is the expected output? What do you see instead?
Anything other than 404 either through browser or doing a dig
schemas.google.com

What version of the product are you using? On what operating system?
Version 1.5 of Objective-C Client Library on Mac OSX10.5.5

Please provide any additional information below.
I asked an outside individual to view this domain, and he also returned a
404/domain could not be found.

Original issue reported on code.google.com by [email protected] on 9 Dec 2008 at 11:01

GDataQueryGoogleHealth.h not imported in GDataHealth.h

What steps will reproduce the problem?

1. Compile this:
GDataQueryGoogleHealth *query = [GDataQueryGoogleHealth 
healthQueryWithFeedURL:[GDataServiceGoogleHealth 
profileFeedURLForProfileID:profileId]];

What is the expected output? What do you see instead?

Expected: no warnings

See Instead: "warning: no '+ healthQueryWithFeedURL:' method found"

Workaround: #import "GDataQueryGoogleHealth.h" manually

Proposed solution: Add
    #import "GDataQueryGoogleHealth.h"
to the end of GDataHealth.h

The rest of the new Health classes look great.  Thanks!

Original issue reported on code.google.com by [email protected] on 10 Feb 2009 at 5:33

BadAuthentication / Account and password is correct / no captcha

What steps will reproduce the problem?
A user of my iPhone Application TankPro can't log into the service.
His email-address and password are working using the web interface of google 
docs.
Using exact this login information does not work using the 
gdata-objectivec-client.
He can login with account data provided from me.
I can login using his account data using the web interface of google docs, so 
his access data is 
correct.
I can't login using the iPhone application with the user's account data.

What is the expected output? What do you see instead?

I get the following error: com.google.GDataServiceDomain-Fehler 403

The userInfo error dictionary contains :

Error = BadAuthentication;
error = BadAuthentication;

So no captcha involved.


What version of the product are you using? On what operating system?
Tested and reproduced with gdata-objectivec-client 1.5 and 1.6

Please provide any additional information below.
If you need more details please contact me by mail

Original issue reported on code.google.com by [email protected] on 30 Jan 2009 at 11:10

Add documentation/comments for uploading to YouTube using Gmail accounts

It took me some times to figure out how you can upload videos to YouTube using 
the GData 
framework with a Gmail account. I found no documentation online and there is no 
comment in 
the GData framework sources explaining how to do that.

--------

Steps to reproduce:

- Create a Gmail account.
- Go to YouTube.com and use the Gmail account to log in. It will create a 
YouTube account 
linked to your Gmail account.
- Use your Gmail account in your application using the GData framework to 
upload videos to 
YouTube.

--------

Expected result:

When using a Google account to upload video to YouTube, some functions of the 
GData 
Objective-C require the Gmail account as parameter and some require 
the YouTube linked account as parameter. 

When you call '- (void)setUserCredentialsWithUsername:(NSString *) 
username password:(NSString *)password;' in GDataServiceBase, the 
username should be the Gmail account, for example 
'[email protected]' and the password should be the password of the 
Gmail account.

But when you call '+ (NSURL *)youTubeUploadURLForUserID:(NSString *) 
userID clientID:(NSString *)clientID;' in GDataServiceGoogleYouTube, 
the userID parameter should be the YouTube linked account and the 
password the password of the Gmail account.


Original issue reported on code.google.com by [email protected] on 8 Apr 2009 at 5:07

Bad string format in GDataDateTime

Hi. I'm slowly trying to get GData to work with GNUstep.  Most of the
changes are in GNUstep, but I'd like to get a few inconsistencies changed
in GData. Here, GDataDateTime element uses a number format like %0l2d (but
only in one place, the other places are OK), which apparently NSString
accepts, but I cannot find any specification that allows this (GNU printf
and Mac OS X printf do not understand it).  Here is the change (based on
latest SVN checkout):

Index: Elements/GDataDateTime.m
===================================================================
--- Elements/GDataDateTime.m    (revision 511)
+++ Elements/GDataDateTime.m    (working copy)
@@ -198,7 +198,7 @@
       timeOffsetString = [NSString stringWithFormat:@"%@%02ld:%02ld",
         sign, (long)(offset/(60*60)) % 24, (long)(offset / 60) % 60];
     }
-    timeString = [NSString stringWithFormat:@"T%02ld:%02ld:%0l2d%@",
+    timeString = [NSString stringWithFormat:@"T%02ld:%02ld:%02ld%@",
       (long)[dateComponents hour], (long)[dateComponents minute],
       (long)[dateComponents second], timeOffsetString];
   }



What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 23 Apr 2010 at 5:19

How to implement Google Notebook APIs?

first of all, thank you for your great job. Your code helps me a lot for my
project. But I can not find Google Notebook relative wrapper class in
"Clients" section, do you plan to implement this in the feature? 

Original issue reported on code.google.com by [email protected] on 8 Mar 2009 at 7:44

Objective-C memory error when canceling upload (with GC)

What steps will reproduce the problem?

1. Add a cancel upload action to the YouTubeSample project and connect it to a 
button. For 
example:

   - (IBAction)cancelUpload:(id)sender {
    [ticket cancelTicket];
   }

2. Build and Run, Start an upload and then Cancel (it should work properly)

3. Now set the target's "Objective-C Garbage Collection" build setting to 
"Required" in XCode.

4. Build and Run, Start an upload and then Cancel (works then crashes the 
application)

What is the expected output? What do you see instead?

There should be no error... After canceling the upload, the application usually 
has a EXC_BAD_ACCESS memory error with the following backtrace:

#0  0x91b44ed7 in objc_msgSend ()
#1  0x0128c968 in ?? ()
#2  0x939fe3e1 in spoolingClose ()
#3  0x96b100cf in _CFStreamClose ()
#4  0x9454a675 in HTTPNetStreamInfo::closeAndReleasePayload ()
#5  0x94551d47 in HTTPNetStreamInfo::~HTTPNetStreamInfo ()
#6  0x96bf70ad in -[__NSCFType finalize] ()
#7  0x91b4b74d in finalizeOneObject ()
#8  0x96d9c512 in Auto::foreach_block_do ()
#9  0x91b4b3ce in batchFinalize ()
#10 0x91b4b452 in batchFinalizeOnTwoThreads ()
#11 0x96d95d79 in Auto::Zone::invalidate_garbage ()
#12 0x96d86b25 in auto_collect_internal ()
#13 0x96d873cf in auto_collection_work ()
#14 0x926a9828 in _dispatch_call_block_and_release ()
#15 0x9269c1f4 in _dispatch_queue_drain ()
#16 0x9269bc52 in _dispatch_queue_invoke ()
#17 0x9269ba68 in _dispatch_worker_thread2 ()
#18 0x9269b4f1 in _pthread_wqthread ()
#19 0x9269b336 in start_wqthread ()

It appears to me that at least one of the HTTP streams is not shutting down 
properly when GC is 
being used. Perhaps there is some code in a dealloc method somewhere that 
shouldn't be 
(though I haven't been able to find it yet).

Note: this bug makes it impossible to cancel an upload if the application is 
using GC!

Thanks for your attention!

Original issue reported on code.google.com by [email protected] on 29 Dec 2009 at 7:09

Using rev 228 on iPhone generates a "Duplicate Name" error from server when updating item

What steps will reproduce the problem?
1. First we retrieve the complete calendar entry using fetchCalendarEntryWithURL
2. Then we pass -unedited in our test - the complete calendar entry back to 
fetchCalendarEntryByUpdatingEntry:
3. Some work, but some give us an error back from the server "Duplicate Name" 
on line 2. 

What is the expected output? What do you see instead?
Expected that it doesn't fail.
Going back to the 1.6.0 revision everything works again. 

Please use labels and text to provide additional information.
Calendar
iPhone
Event Updating

Original issue reported on code.google.com by [email protected] on 21 Feb 2009 at 3:09

Add Resumable Upload Support for Docs

Currently, file uploads to Docs via this library are non-resumable.  There are 
plans to fix this, but there wasn't an issue filed to track the status of this 
new 
feature.

12-Jan-2010:
"Look for resumable upload support in the ... Objective-C client librar[y] in 
the near future."
<http://googlecode.blogspot.com/2010/01/documents-list-api-upload-
any-file-type.html>

Original issue reported on code.google.com by [email protected] on 31 Jan 2010 at 1:44

Missing initWithContentsOfUrl

What steps will reproduce the problem?
I used this library because I had code that used NSXMLDocument that I
wanted to put on the iPhone.  I was able to build but my app crashed
because the GDataXMLDocument did not accept the initWithContentsOfUrl
selector which I use in various places in my code.

What is the expected output? What do you see instead?
I expected this to work exactly as a replacement for NSXMLDocument, instead
this method was missing.  Though this method was trivial to implement it
was still kind of annoying and is a simple fix.

Please use labels and text to provide additional information.

I ended up adding it myself, code follows.

- (id)initWithContentsOfURL:(NSURL *)url options:(unsigned int)mask
error:(NSError **)error {

    NSString *contentString = [NSString stringWithContentsOfURL:url
encoding:NSASCIIStringEncoding error:error];
    NSData *data = [contentString dataUsingEncoding:NSUTF8StringEncoding];
    GDataXMLDocument *doc = [self initWithData:data options:mask error:error];
    return doc;
}

Original issue reported on code.google.com by [email protected] on 10 Feb 2009 at 3:31

tasks api

What version of the product are you using? On what operating system?
mac OSX 10.5 Leopard, XCode, iPhone 3G 3.0.1

Please provide any additional information below.
no google tasks api

Original issue reported on code.google.com by matiharas on 29 Aug 2009 at 5:50

"warning: no'-URLString" method found"

What steps will reproduce the problem?
1. running this code on iPhone simulator is throwing a warning of "warning:
no'-URLString" method found"

// fetch or clear the thumbnail for this specified album
- (void)updateImageForAlbum:(GDataEntryPhotoAlbum *)album {

  // if there's a thumbnail and it's different from the one being shown,
  // fetch it now
  if (!album) {
    // clear the image
    [mAlbumImageView setImage:nil];
    [self setAlbumImageURLString:nil];

  } else {    
    // if the new thumbnail URL string is different from the previous one,
    // save the new one, clear the image and fetch the new image

    NSArray *thumbnails = [[album mediaGroup] mediaThumbnails];
    if ([thumbnails count] > 0) {

      NSString *imageURLString = [[thumbnails objectAtIndex:0] URLString];
      if (!imageURLString || ![mAlbumImageURLString isEqual:imageURLString]) {

        [self setAlbumImageURLString:imageURLString];
        [mAlbumImageView setImage:nil];

        if (imageURLString) {
          [self fetchURLString:imageURLString forImageView:mAlbumImageView];
        }
      } 
    }
  }
}

What is the expected output?
no warning

What do you see instead?
getting the warning

What version of the product are you using? On what operating system?
iPhone 3.0 OS

Original issue reported on code.google.com by [email protected] on 19 Jun 2009 at 8:51

publishOusideDomain => publishOutsideDomain (typo)

What steps will reproduce the problem?
1. Compile and run Examples/DocsSample
2. Get document list
3. Select a document
4. Select a document revision

What is the expected output? What do you see instead?

From debug log: 2010-01-18 11:58:46.139 DocsSample[2663:a0f] 
[<GDataEntryDocRevision 
0x57aca0> valueForUndefinedKey:]: this class is not key value coding-compliant 
for the key 
publishOusideDomain.

What version of the product are you using? On what operating system?

Latest trunk (r420). OSX 10.6.2, XCode 3.2.1. 

Please provide any additional information below.

Introduced in r416 I think, and looks very much like a typo. At least this 
patch makes the sample 
work as expected for me:

Index: Source/Clients/Docs/GDataEntryDocRevision.m
===========================================================
========
--- Source/Clients/Docs/GDataEntryDocRevision.m (revision 420)
+++ Source/Clients/Docs/GDataEntryDocRevision.m (working copy)
@@ -80,7 +80,7 @@
   static struct GDataDescriptionRecord descRecs[] = {
     { @"publish",             @"publish",             kGDataDescBooleanPresent },
     { @"publishAuto",         @"publishAuto",         kGDataDescBooleanPresent },
-    { @"publishOusideDomain", @"publishOusideDomain", kGDataDescBooleanPresent 
},
+    { @"publishOutsideDomain", @"publishOutsideDomain", 
kGDataDescBooleanPresent },
     { nil, nil, 0 }
   };


Original issue reported on code.google.com by [email protected] on 18 Jan 2010 at 11:11

GDataXMLNode not handling default namespaces for xpath queries

When you parse an XML file with a default namespace like:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gpx 
  version="1.1" 
  xmlns="http://www.topografix.com/GPX/1/1">
<trk></trk>
</gpx>

the following xpath will return no nodes
./gpx/trk

the reason is that in libxml2 all nodes require to have a namespace set:
//the namespace prefix cannot be NULL or empty string//
http://xmlsoft.org/html/libxml-xpathInternals.html#xmlXPathRegisterNs

I have successfully patched GDataXMLNode by doing the following:
- (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error {
[…]
WAS: if (prefix == NULL) prefix = (xmlChar*) "";
TO: if (prefix == NULL) prefix = (xmlChar*) "defns";

then, when evaluating the xpath in 
WAS: xpathObj = xmlXPathEval(GDataGetXMLString(xpath), xpathCtx);
TO: xpathObj = xmlXPathEval(GDataGetXMLString(normalizedxpath), xpathCtx);

whereas normalizedxpath is retrieved from a new method that appends a namespace 
to each 
xpath component that does not yet have a namespace set.
therefore
./gpx/trk
becomes
./defns:gpx/defns:trk

this now works as expected and also matches the behaviour of apples 
NSXMLDocument.

--
Mac OS X 10.5.7, XCode iPhoneOS 3.0 release

- berbie


Original issue reported on code.google.com by [email protected] on 25 Jun 2009 at 8:42

Attachments:

compiling for iphone causes errors with gdataxmldocument

What steps will reproduce the problem?
1.  Add the gdata sources from svn into iphone project
2. make the changes as suggested
3. compile

What is the expected output? What do you see instead?

Build errors saying GDataXMLDocument may not respond to -nodesForXPath:error

When you ignore and run this, iphone application crashes saying unrecognized 
selector sent to 
the instance.

What version of the product are you using? On what operating system?

10.5 xcode 3.1 iphone 2.1

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 18 Sep 2008 at 7:00

missing Security.Framework reference in the "Building The Library" documentation

Following the instruction in:

http://code.google.com/p/gdata-objectivec-client/wiki/BuildingTheLibrary

for an iPhone project, some missing symbol errors appear, like
kSecClassGenericPassword and others.

This is due to the Security.Framework reference missing. If the
Security.Framework is added the building is successful.

May you include in the documentation that the Security.Framework is need it ?

NOTE: Using GData client 1.10.0 with XCode for iPhone OS 3.2

Original issue reported on code.google.com by [email protected] on 18 Apr 2010 at 5:32

-[GDataObject properties] is not fully KVO compliant

What steps will reproduce the problem?
1. Bind something to object.properties.key before userProperties_ has been 
initialized
2. Set property to some value (this will initialize the userProperties_ ivar)
3. Original binding is not updated when

Reason is this:

- (void)setProperty:(id)obj forKey:(NSString *)key {

  if (obj == nil) {
    // user passed in nil, so delete the property
    [userProperties_ removeObjectForKey:key];
  } else {
    // be sure the property dictionary exists
    if (userProperties_ == nil) {
      userProperties_ = [[NSMutableDictionary alloc] init];
    }
    [userProperties_ setObject:obj forKey:key];
  }
}

Using userProperties_ = [[NSMutableDictionary alloc] init]; does not trigger a 
bindings update.
Should use either willChangeValueForKey:@"properties" and 
didChangeValueForKey:@"properties" 
or [self setProperties:[NSMutableDictionary dictionary]];

Diff attached for the latter.

Original issue reported on code.google.com by [email protected] on 27 Aug 2009 at 10:18

Attachments:

Unable to compile

What steps will reproduce the problem?
I just tried to compile the package because it isn't in the package i 
downloaded.

What is the expected output? What do you see instead?
I wanted to get a GData.framework file but i get 2 compilation errors

What version of the product are you using? On what operating system?
I'm on Mac OS 10.4 Tiger on PPC

Please provide any additional information below.
2 errors:
 - internal link edit command failed
 - Undifined Symbol:
....
...
....
...
etc.

Original issue reported on code.google.com by [email protected] on 14 Jun 2008 at 9:44

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.