ios - iOS 上的 POST 请求 - 不起作用

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

我有一个通过 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];

正如您所看到的,我暂时对访问 token 进行硬编码,只是作为测试。但我似乎无法让我的应用程序实际向 Facebook 发布任何内容。

谢谢,丹。

最佳答案

您正在尝试将 JSON 发布到 GraphAPI - 但您无法执行此操作。

相反,您必须在发布时使用参数(查询字符串HTTP请求参数)。

参见:Publish to Feed .

关于ios - iOS 上的 POST 请求 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632714/

相关文章:

android - 如何在android中创建 "general"共享 Intent ?

android - 从应用程序登录社交媒体的链接

javascript - Facebook 登录按钮没有显示在我的博客上

php - 如何将我的 Facebook 页面中的最新帖子显示到我的网站

iphone - SIGSEGV 在 iOS TestFlight 设备上崩溃

ios - 在播放时取消推送通知声音

Facebook Drupal(fboauth)弹出窗口以全屏方式打开

ios - 与 completionBlock 异步下载和保存文件时 CollectionView 单元格图像错误

iphone - 是否可以检测 CGMutablePathRef 和 CGRect 的交集?

android - Facebook 中的用户好友权限