Я никогда не отвечал прямо к 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.