我在图形 api 上苦苦挣扎了几天,但似乎无法再进一步了。
在我的 appdelegate 中,我将以下代码放在 didFinishLaunching 中
facebook = [[Facebook alloc] initWithAppId:@"cut-app-id-out"];
NSArray* permissions = [[NSArray arrayWithObjects:
@"email", @"user_location", @"user_events", @"user_checkins", @"read_stream", nil] retain];
[facebook authorize:permissions delegate:self];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"test message from stackoverflow", @"message",
nil];
[facebook requestWithGraphPath:@"/me/feed" andParams:params andDelegate:self];
如你所见,我正在努力让用户反馈。我使用以下代码将数据放入正确的字典中。
- (void)request:(FBRequest*)request didLoad:(id)result
{
if ([result isKindOfClass:[NSDictionary class]]) {
NSLog(@"count : %d ", [result count]);
NSArray* resultArray = [result allObjects];
NSLog(@"count : %d ", [result count]);
result = [resultArray objectAtIndex:0];
NSLog(@"count : %d ", [result count]);
result = [result objectAtIndex:0];
}
}
但是 didFailWithError: 函数给了我以下错误: 操作无法完成。 (facebookErrDomain 错误 10000。)
我已将 FBRequestDelegate 放入我的接口文件中,如下所示:
@interface TabbedCalculationAppDelegate : NSObject
<FBRequestDelegate>{
我有什么遗漏的吗?
处理 Facebook 响应还需要做很多事情,尤其是在授权之后。您将无法在
authorize
方法之后立即调用 Facebook API。请参阅 他们的示例代码,其中显示了如何响应您需要执行的各种事件,最重要的是 fbDidLogin
和 fbDidNotLogin
事件。只有成功登录后才能访问 Graph API。
此外,您似乎正在尝试使用 Graph API 发布消息。不幸的是,这不是正确的方法,像
[facebook requestWithGraphPath:@"me/feed" andDelegate:self];
这样的调用只能用于只读用途。再次,查看上面的链接,了解如何使用 publish_stream
权限的示例(他们的代码有一个 publishStream
示例方法)。