I've included blankSpreadsheet.xls in my mainBundle. Here is my
source verbatim. Can you tell what the problem is?
-(void)uploadBlankSpreadsheet {
NSLog(@"Creating spreadsheet data");
SEL progressSel = @selector
(ticket:hasDeliveredByteCount:ofTotalByteCount:);
[spreadsheetService setServiceUploadProgressSelector:progressSel];
GDataEntrySpreadsheet *newEntry = [GDataEntrySpreadsheet
spreadsheetEntry];
NSString *path = [[NSBundle mainBundle]
pathForResource:@"blankSpreadsheet" ofType:@"xls"];
NSLog(path);
NSData *data = [NSData dataWithContentsOfFile:path];
if(!data) {
NSLog(@"File error occurred, no data ready.");
} else {
NSString *filename = [path lastPathComponent];
[newEntry setUploadSlug:filename];
[newEntry setUploadData:data];
[newEntry setUploadMIMEType:@"application/vnd.ms-excel"];
NSString *title = [[NSFileManager defaultManager]
displayNameAtPath:path];
[newEntry setTitleWithString:title];
NSURL *postURL = [[spreadsheetFeed postLink]URL];
GDataServiceTicket *ticket;
ticket = [spreadsheetService fetchEntryByInsertingEntry:newEntry
forFeedURL:postURL delegate:self didFinishSelector:@selector
(uploadTicket:finishedWithEntry:error:)];
NSLog(@"Now uploading blank spreadsheet...");
}
}
-(void)uploadTicket:(GDataServiceTicket *)ticket finishedWithEntry:
(GDataEntrySpreadsheet *)entry error:(NSError *)error {
if (error) {
NSLog(@"There was an error uploading the spreadsheet");
NSLog(@"%@",[error description]);
UIAlertView *errorAlert = [[UIAlertView alloc]
initWithTitle:@"Error" message:[NSString stringWithFormat:@"%@",[error
description]] delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[errorAlert show];
[errorAlert release];
} else {
NSLog(@"No Errors uploading spreadsheet");
}
}
The last line I get in my console is always "Now uploading blank
spreadsheet..."
Greg, I noticed any spreadsheet questions always get referred to the
Spreadsheet API forum. I figured this question was more of an
objective-c one, so I asked here first. Thanks for all of your help
so far!
My app works by checking the documents list, searching for a specific
spreadsheet. If it doesn't exist, it uploads it with the filename
specified. Then, the data I need can be inserted on the second line,
pushing everything else down a row. I haven't started on the code to
insert a record. I figured out the code to insert a table, but once
one table gets put in, I can no longer use the API to update the
spreadsheet, I get an error that says using the API will somehow break
my existing table. I guess it's now down to learning the records
entry portion to just insert an entry on row 2. I will be back, I'm
sure! Right now it's time for some chicken nuggets from McDonalds
Is this the gist?
GDataEntrySpreadsheetRecord *oneRecordEntry = [[recordFeed entries]
objectAtIndex:0];
NSString *oneField = [[oneRecordField fields] objectAtIndex:0];
Should I be doing
//one for each: Year, Month, Week, Date, Score
NSArray *fields = [NSArray
arrayWithObjects:@"2009",@"December",@"1",@"12/1/2009",@"5000",nil];
[recordEntry setFields:fields];
GDataServiceGoogleSpreadsheet *service = [self spreadsheetService];
GDataServiceTicket *ticket;
ticket = [service fetchEntryByUpdatingEntry:recordEntry
delegate:self
didFinishSelector:@selector
(editRecordTicket:finishedWithEntry:error:)];
Where do I set it so it inserts on Row 2?