0

我有一个通过 OAuth 2.0 连接到 Facebook 的 iOS 应用程序。我想发出一个 POST 请求,在 iOS 中实现与此代码等效的代码:

curl -F 'access_token=...' \
 -F 'message=Hello. I like this new API.' \
 https://graph.facebook.com/[USER_ID]/feed

我在网上找到了一个不错的教程,并按照所有说明进行操作,但我仍然可以让我的 POST 请求正常工作。这是我的代码:

    NSString *post = post_text.text;
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    //NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

    NSString *ready_post = [NSString stringWithFormat:@"https://graph.facebook.com/1313573269/feed?message=%@&access_token=CAACEdEose0cBAHgdZAon2EZBZCzjoLkhg7jrqvZAbliuoOQ2E2Exc4rZCAxPzeVEADwnQaNLYuG16Gq6q6LLLLLLLLVQ7LZAncXCc53qE2iyzleZAPXGajsgjnBTuo6YdJCZAxVGIYYD8sZCgQ9ypZCo0iOZBNuyrechBfee2yptlK9tmgdosZA7wrKg8ZD", postData];

    [request setURL:[NSURL URLWithString:ready_post]];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:postData];

如您所见,我暂时对访问令牌进行硬编码,只是作为测试。但我似乎无法让我的应用真正向 Facebook 发布任何内容。

谢谢,丹。

4

1 回答 1

1

您正在尝试将 a 发布JSON到 GraphAPI - 这是您无法做到的。

取而代之的是,您必须在发布 (query stringHTTP request parameters) 时使用参数。

请参阅:发布到 Feed

于 2013-09-05T10:47:01.437 回答