iOS上的POST请求 - 无法正常工作

时间:2013-09-05 09:33:35

标签: ios facebook facebook-graph-api post facebook-ios-sdk

我有一个iOS应用程序,它通过OAuth 2.0连接到Facebook。我想发一个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发布任何内容。

谢谢,Dan。

1 个答案:

答案 0 :(得分:1)

您尝试将JSON发布到GraphAPI - 您无法做到。

而不是那样,您必须在发布时使用参数(query stringHTTP request parameters)。

请参阅:Publish to Feed