0
我在應用中使用下面的Facebook Hackbook示例代碼。該方法getFriendsCallAPIDialogFeed說(在評論),這種方法「GET是用戶的朋友,讓他們來接一個,並張貼在牆上的」從iOS應用中選擇並張貼到Facebook朋友的牆上
/*
* Helper method to first get the user's friends then
* pick one friend and post on their wall.
*/
- (void)getFriendsCallAPIDialogFeed {
// Call the friends API first, then set up for targeted Feed Dialog
currentAPICall = kAPIFriendsForDialogFeed;
[self apiGraphFriends];
}
然而
符合currentAPICall = kAPIFriendsForDialogFeed;它調用下面的請求方法,然後kAPIFriendsForDialogFeed。
我遇到的問題是隨機挑選用戶的朋友。我需要用戶能夠選擇他們選擇的朋友。
感謝您的幫助
- (void)request:(FBRequest *)request didLoad:(id)result {
[self hideActivityIndicator];
if ([result isKindOfClass:[NSArray class]] && ([result count] > 0)) {
result = [result objectAtIndex:0];
}
switch (currentAPICall) {
case kAPIFriendsForDialogFeed:
{
NSArray *resultData = [result objectForKey: @"data"];
// Check that the user has friends
if ([resultData count] > 0) {
// Pick a random friend to post the feed to
int randomNumber = arc4random() % [resultData count];
[self apiDialogFeedFriend:
[[resultData objectAtIndex: randomNumber] objectForKey: @"id"]];
} else {
[self showMessage:@"You do not have any friends to post to."];
}
break;
}
這個代碼填充與所有的朋友,您可以從中選擇一個表。選擇只發布一條消息/請求到他們的通知,而不是他們的牆 - 這是我需要的。
case kAPIGetAppUsersFriendsUsing:
{
NSMutableArray *friendsWithApp = [[NSMutableArray alloc] initWithCapacity:1];
// Many results
if ([result isKindOfClass:[NSArray class]]) {
[friendsWithApp addObjectsFromArray:result];
} else if ([result isKindOfClass:[NSDecimalNumber class]]) {
[friendsWithApp addObject: [result stringValue]];
}
if ([friendsWithApp count] > 0) {
[self apiDialogRequestsSendToUsers:friendsWithApp];
} else {
[self showMessage:@"None of your friends are using Whatto."];
}
[friendsWithApp release];
break;
}
:
這太問題告訴你如何張貼到朋友的牆上。 ..我不使用Facebook的API,但我知道有一個特定的功能,牆壁張貼 – Dustin 2012-07-24 14:32:52
這是正確的,因爲評論說:「幫助者的方法首先讓用戶的朋友,然後選擇一個朋友,張貼在他們的牆上「。它隨機挑選一個朋友。 – hanumanDev 2012-07-24 14:36:24
我更新了我的答案,並提供了一個包含掛牆發佈代碼的問題的鏈接。 – Dustin 2012-07-24 14:39:56