无法喜欢来自ios sdk的帖子

时间:2013-02-22 11:22:49

标签: ios facebook-graph-api

我使用Facebook SDK 3.0登录用户,我成功获得了FB ID和FB会话令牌。

`NSDictionary<FBGraphUser> *user.id` (FB ID)

和     [FBSession.activeSession accessToken](FB会话令牌)

现在我想要在我的应用内发布帖子。所以我正在创建一个POST请求并传递像这样的参数

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/og.likes",@"34856345..."]] cachePolicy:NO timeoutInterval:5.0];
    [urlRequest addValue:@"BAAGjjgD8bhUBAM73jzkpy23zlHo7e8ZAqPaOGvbxU..." forHTTPHeaderField:@"access_token"];
    [urlRequest addValue:myshareLink forHTTPHeaderField:@"object"];
    [urlRequest setHTTPMethod:@"POST"];
    NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];
    [theConnection autorelease];

但我收到此错误

 result:{"error":{"message":"An access token is required to request this resource.","type":"OAuthException","code":104}}

但如果我使用CURL命令中的相同访问令牌和用户ID,则会成功发布。

curl -X POST -F 'access_token=BAAGjjgD8bhUBAE8XmogjJZAZAPyJ8SUyxkllJQ...' -F 'object=http://xyz.com/abc/gallery.php#pic/pic2/' https://graph.facebook.com/732../og.likes

请帮助我弄清楚我错过了什么。

由于

1 个答案:

答案 0 :(得分:0)

我建议使用iOS Facebook SDK中的FBRequestConnection和FBRequest类,而不是使用NSURLConnection和NSMutableURLRequest。我相信Facebook需要一些Facebook SDK自动为您生成的iOS级别的额外标题值。

对于类似的操作,我使用FBRequest类方法requestForGraphPath来创建请求。在将FBRequest传递给FBRequestConnection之前,不要忘记在FBRequest上设置httpMethod和session字段。