Невозможно отправить данные с IPhone с помощью аутентификации аккаунта Google - PullRequest
2 голосов
/ 02 января 2009

Я работаю над приложением для iPhone, которое работает с приложением Google App Engine. Мне удается войти в систему с помощью учетной записи Google, и я получаю токен аутентификации. Я также могу получить данные из службы GAE (я сделал это после прочтения еще одного вопроса, написанного здесь), но теперь мне нужно POST-данные, поэтому мне нужно отправить токен аутентификации в заголовке запроса POST. Я пробовал несколько вариантов, но ни один из них не работал.

Вот код, который я использую, чтобы поместить эту аутентификацию в заголовок:

NSString* urlStr = [NSString stringWithFormat:@"%@%@", HOST, url];
NSMutableURLRequest* urlPost = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlStr]]; 
NSString* authStr = [NSString stringWithFormat:@"GoogleLogin auth=%@", token];
[urlPost addValue:authStr forHTTPHeaderField:@"Authorization"];

но это не работает.

Любая помощь?

Ответы [ 3 ]

3 голосов
/ 02 января 2009

Вам необходимо использовать [request setHTTPMethod: @"POST"] и [request setHTTPBody: postdata] для правильной настройки компонентов POST. См. NSMutableURLRequest документы для получения дополнительной информации.

2 голосов
/ 02 января 2009

Всякий раз, когда я решаю проблему, связанную с HTTP, первым инструментом, который я найду, будет Charles HTTP Proxy . Он покажет вам весь запрос и ответ для более тщательного изучения.

1 голос
/ 03 мая 2009

Если вы аутентифицируетесь с помощью приложения App Engine, вам нужно получить и отправить куки аутентификации, а не использовать аутентификацию GoogleLogin. Источник appengine_rpc.py в Python SDK демонстрирует, как.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...