2010-12-03 1 views
0

Я пытаюсь найти, как получить заданный диапазон подачи ячеек (или записей) из записи рабочего листа.Как отправить запрос диапазона ячеек (или записей), чтобы получить заданный канал из записи рабочего листа из приложения iPhone в Google Spreadsheet?

я обнаружил, что существует решение этой в "Google Data APIs .NET client library"

и "Google Data API Python client library"

Но не могу найти, как это сделать с Objective-C. Является ли это возможным? Если да, то , то как? Если нет, то как реализовать эту возможность & как трудно это делать? Причина, по которой меня интересует, - это желание сократить трафик между iPhone-приложением & Google.

Заранее спасибо.

ответ

0

Я нашел ответ сам, а исследовал заголовки Gdata-ObjectiveC-клиента. Таким образом, решение состоит в том, чтобы сделать GDataQuerySpreadsheet на листе с записью с предварительно заданным количеством свойств: minimumRow, maximumRow, minimumColumn, maximumColumn. Также можно использовать просто - (void)setRange:(NSString *)str;

Вот пример кода:

- (void) fetchWorksheet: (GDataEntryWorksheet*) worksheet { 
    NSURL *cellsFeedURL = [[worksheet cellsLink] URL]; 
    if (cellsFeedURL) { 
     GDataServiceTicket *ticket; 
     GDataQuerySpreadsheet *query = [GDataQuerySpreadsheet spreadsheetQueryWithFeedURL: cellsFeedURL]; 
     [query setMinimumRow: 0]; 
     [query setMaximumRow: 2]; 
     [query setMinimumColumn: 0]; 
     [query setMaximumColumn: 2]; 
     [query setTitleQuery: @"myQuery"]; 

     ticket = [mService fetchFeedWithQuery:query 
            delegate:self 
          didFinishSelector:@selector(fetchFeedOfCellsTicket: 
                 finishedWithFeed: 
                 error:)]; 
    }  
} 

Единственным недостатком является то, что в результате корм содержит клетки, но не записей. И клетки считаются устаревшими (я слышал это). Было бы лучше получить таблицу с записями, а не лист с ячейками. К сожалению, GData-objectivec-клиент этого не поддерживает.

Но он работает. Я проверил.

0

Google не предоставляет API Objective-C для доступа к электронным таблицам. Доступ к электронным таблицам по-прежнему возможен, но вы будете нести ответственность за создание необработанных HTTP-запросов.

Классы NSURLRequest и NSURLConnection могут использоваться для создания и отправки необходимых HTTP-запросов. Вам определенно понадобятся достойные рабочие знания HTTP, но, кроме этого, трудно сказать, насколько трудным будет такая попытка - это сильно зависит от того, что ваше приложение позволяет пользователю делать. Чем более интерактивным и гибким, тем больше времени вам придется потратить на кодирование отдельных запросов.

Для получения дополнительной информации вы можете ознакомиться с обобщенной версией GData API.

Другие ресурсы:
NSURLRequest Class Reference
NSURLConnection Class Reference

+0

Существует проект с открытым исходным кодом, который предоставляет API Objective-C для доступа к электронным таблицам google и другим службам google: http://code.google.com/p/gdata-objectivec-client/ – zkaje 2010-12-04 09:48:32