2010-12-03 26 views
0

J'essaie de trouver comment obtenir un flux spécifié de plage de cellules (ou enregistrements) à partir d'une entrée de feuille de calcul.Comment envoyer une requête de plage de cellules (ou d'enregistrements) pour extraire un flux à distance d'une entrée de feuille de calcul de l'application iPhone vers Google Spreadsheet?

Je trouve que, il y a une solution pour cette dans "Google Data APIs .NET client library"

et "Google Data API Python client library"

Mais ne peut pas trouver comment le faire avec c-objectif. C'est possible? Si oui, alors comment? Si non, alors comment mettre en œuvre cette opportunité & à quel point est-il difficile à faire? La raison pour laquelle je suis intéressé est le désir de réduire le trafic parmi l'application iPhone & Google.

Merci d'avance.

Répondre

0

que j'ai trouvé la réponse moi-même en-têtes enquête Gdata-ObjectiveC-client. Donc la solution est de faire un GDataQuerySpreadsheet à la feuille de calcul avec entrée avec le nombre de propriétés prédéfini: minimumRow, maximumRow, minimumColumn, maximumColumn. Il est également possible d'utiliser simplement - (void)setRange:(NSString *)str;

Voici un exemple de code:

- (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:)]; 
    }  
} 

Le seul inconvénient est que l'alimentation résultant contient des cellules, mais pas d'enregistrements. Et les cellules sont considérées comme obsolètes (je l'ai entendu). Il serait préférable d'aller chercher une table avec des enregistrements, et non une feuille de calcul avec des cellules. Mais GData-objectivec-client ne le supporte pas, malheureusement.

Mais cela fonctionne. J'ai vérifié.

0

Google ne fournit pas d'API Objective-C pour accéder aux feuilles de calcul. Il est toujours possible d'accéder aux feuilles de calcul, mais vous serez responsable de la création des requêtes HTTP brutes.

Les classes NSURLRequest et NSURLConnection peuvent être utilisées pour créer et envoyer les requêtes HTTP nécessaires. Vous aurez certainement besoin d'une bonne connaissance pratique de HTTP, mais à part cela, il est difficile de dire à quel point une telle entreprise serait difficile - cela dépend fortement de ce que votre application permet à l'utilisateur de faire. Plus il est interactif et flexible, plus vous aurez de temps à consacrer au codage des demandes individuelles.

Pour plus d'informations, vous pouvez consulter la version généralisée du GData API.

Autres ressources:
NSURLRequest Class Reference
NSURLConnection Class Reference

+0

Un projet Open Source fournit une API Objective-C pour accéder aux feuilles de calcul Google et à d'autres services google: http://code.google.com/p/gdata-objectivec-client/ – zkaje

+0

J'ai posé des questions sur l'optimisation du travail avec une quantité de feuilles de calcul et d'enregistrements en eux, en utilisant gdata-objectivec-client. – zkaje