2013-11-20 39 views
1

我目前有一個XML文件,需要發送給Google來更新我的工作表/電子表格中的單元格。我已經用一個庫編寫了XML,我希望它的格式正確,如Google's Spreadsheet API所要求的。Google Spreadsheet Protocol「單元格的位置無法更新。」

跟着this教程,我收到一條消息說,「一個單元格的位置無法更新。」我不知道哪一部分我做錯了,但這裏是我是如何實現的調用API中的Objective-C:

-(void) callAPI:(NSString *)apiURL withHttpMethod:(HTTPMethod)method XMLString:(NSString *) xml 
{ 

NSString *urlString = [NSString stringWithFormat:@"%@?access_token=%@", apiURL, _accessTokenInfoDictionary[@"access_token"]]; 
NSLog(@"URLString: %@", urlString); 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] 
           initWithURL:[NSURL 
              URLWithString:urlString]]; 
if (method == PUT) { 

    [request setHTTPMethod:@"PUT"]; 

    [request setValue:@"application/atom+xml" forHTTPHeaderField:@"Content-Type"]; 

    [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[xml length]] forHTTPHeaderField:@"Content-length"]; 

    [request setHTTPBody:[xml dataUsingEncoding:NSUTF8StringEncoding]]; 

    [self makeRequest:request]; 
    } 

} 

我使用OAuth 2的this的幫助,但它不處理XML文件,因此我必須實現一個方法。

該應用程序寫入的XML文件是這樣的:

<?xml version="1.0" encoding="UTF-8" ?> 
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gs="http://schemas.google.com/spreadsheets/2006"> 
<id>https://spreadsheets.google.com/feeds/cells/theworksheetid/od6/private/full/R3C1</id> 
<link rel="edit" type="application/atom+xml" href="https://spreadsheets.google.com/feeds/cells/theworksheetid/od6/private/full/R3C1/15d60i" /> 
<gs:cell row="2" col="4" inputValue="Testing with XML Writer!!" /> 
</entry> 

訪問令牌,該方法callAPI生成這個樣子的:

https://spreadsheets.google.com/feeds/cells/theworksheetid/od6/private/full/R3C1/15d60i?access_token=some_access_token 

所以,我不知道這是否是我實現這個方法的方式,或者如果它是不允許我更新單元格的XML文件或訪問令牌,但任何幫助都可以,謝謝。

回答

1

問題解決了。問題是創建的XML文件中的行和列與來自給定的單元格條目的行和列不匹配。所以我所要做的就是匹配它們,發送XML和tada,現在我可以編輯單元格了!

相關問題