如何使用GoogleDocAPI将文档下载到Iphone

时间:2012-06-21 09:15:43

标签: iphone objective-c google-docs-api google-drive-api

是否可以将我的Gmail帐户中的文档下载到iphone应用程序的文档文件夹中。实际上我使用了Google Doc API并使用

获取Feed
-(GDataServiceGoogleDocs *)getdocservice
{
    static GDataServiceGoogleDocs *docs = nil;
    if(!docs)
    {
        docs = [[GDataServiceGoogleDocs alloc]init];
        [docs setShouldCacheResponseData:YES];
        [docs setServiceShouldFollowNextLinks:YES];
        [docs setIsServiceRetryEnabled:YES];
        [docs setUserCredentialsWithUsername:@"gmailaccount@gmail.com" password:@"password"];
    }
    return docs;
}

//@@@@@@@@@@@@@@
GDataServiceTicket *ticket;
#pragma mark docService
docsService = [self getdocservice];

NSURL *feedURL = [GDataServiceGoogleDocs docsFeedURL];
GDataQueryDocs *queryDocs = [GDataQueryDocs documentQueryWithFeedURL:feedURL];
[queryDocs setMaxResults:1000];
[queryDocs setShouldShowFolders:YES];
ticket = [docsService fetchFeedWithQuery:queryDocs delegate:self didFinishSelector:@selector(docsFetchTicket:finishedWithFeed:error:)];


// call back
-(void)docsFetchTicket:(GDataServiceTicket *)ticket finishedWithFeed:(GDataFeedDocList *)feed error:(NSError *)error
{
    GDataFeedDocList *mDocListFeed = feed;
    int numDocs = [[feed entries] count];
    NSLog(@"NumDocs :%d\n Feed :%@",numDocs,mDocListFeed);

    for (int i=0; i<numDocs; i++) {
        GDataEntryDocBase *docEntry = [mDocListFeed entryAtIndex:i];
        NSLog(@"\n@@@@@@@@@@@@ DocTitle :%@\n\n",[[docEntry content] sourceURL] );
    }
}

它显示了我帐户中的所有文件。 但我没有得到如何将这些文件下载到我的应用程序文档文件夹中。如果有任何想法请帮助我。

1 个答案:

答案 0 :(得分:0)

(免责声明:我不熟练使用Objective-C)

GDataFeedDocList的每个条目都应包含指向实际文件数据的链接。该链接包含在其“内容”属性中。在您的代码中,您似乎需要使用经过身份验证的请求来下载内容的URL(sourceURL)。

您现在还应该使用较新的Objective-C客户端库来使用较新的Drive API而不是DocumentList API:

http://code.google.com/p/google-api-objectivec-client/