2010-09-06 51 views

回答

3

我從來沒有直接發佈到Facebook的圖形API(雖然我已經用他們的API,拉起UIWebView的對話和處理實際發佈業務您)。不過,我已經使用了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方法中找到它們。例如,您可以將它傳遞給指向要下載的UIImage的UIImageView圖像的指針。根據我的經驗,更頻繁的是,如果您在同一個viewController中發生了多個請求,則只需在該字典中爲您的@"type"鍵設置一個不同的對象,並且您可以通過一種簡單的方式稍後將其分開。

其次,您可能會問:「我是否必須做特別的事情,因爲它是https?」根據我的經驗,你完全不需要,ASIHTTPRequest足夠聰明,可以處理幕後的所有事情。

如果您需要構建post字段,而不僅僅是在查詢字符串上發送數據,則使用ASIFormPostData對象而不是ASIHTTPRequest,但它的行爲或多或少相同。

編輯,幾年之後:ASIHttpRequest現在已被其開發人員棄用,他們建議轉換到當前開發中的其他軟件包。人們似乎喜歡AFNetworking。