2010-09-06 1 views

ответ

3

Я никогда не отвечал прямо к API Facebook Graph (хотя я использовал их API, который тянет вверх UIWebView диалоговых окна и обрабатывает фактические проводки бизнеса для вы). Тем не менее, я использовал heck из ASIHTTPRequest.

NSString *reqStr = [NSString stringWithFormat:@"https://graph.facebook.com/me/feed?message=%@&access_token=%@", messageString, accessTokenString]; 
ASIHTTPRequest *req = [ASIHTTPRequest requestWithUrl:[NSURL urlWithString:reqStr]]; 
req.delegate = self; 
req.userInfo = [NSDictionary dictionaryWithObject:@"graphRequest" forKey:@"type"]; 
req.requestMethod = @"POST"; 
[req startAsynchronous]; 

Пара вещей. Я демонстрирую использование поля .userInfo, потому что это просто так полезно. Это свойство принимает любой NSDictionary, содержащий любые объекты, которые вы хотите включить, и вы можете получить их позже в методе -request: didFinish. Вы можете передать его указателю на образ UIImageView, который вы хотите загрузить с помощью UIImage, который вы загружаете, например. Чаще всего, по моему опыту, если у вас более одного запроса происходит внутри одного и того же viewController, вы просто устанавливаете другой объект для своего @"type" ключа в этом словаре, и у вас есть простой способ рассказать об этом позже.

Во-вторых, вы можете спросить: «Мне нужно делать что-то особенное, потому что это https?» По моему опыту, вы полностью этого не делаете, ASIHTTPRequest достаточно умен, чтобы обрабатывать все это за кулисами.

Если вам нужно создать почтовые поля, а не просто отправлять данные в строку запроса, вы используете объект ASIFormPostData, а не ASIHTTPRequest, но он ведет себя более или менее одинаково.

EDIT, НЕСКОЛЬКО ЛЕТ НАЗАД: ASIHttpRequest теперь устарел от своего разработчика, который рекомендует переходить на другой пакет, который находится в текущей разработке. Люди, похоже, любят AFNetworking.