ios - FB Graph 订阅 iOS

标签 ios facebook facebook-graph-api

Me 和 Graph:天造地设的组合。 请考虑以下事项:

为了建立 FB 订阅,我有这个方法:

-(void)subscribeToFacebook{
    (FBSession.activeSession.isOpen) ? NSLog(@"is open") : NSLog(@"is closed");

    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                            @"page", @"object",
                            @"http://www.example.com/fbcallback.php", @"callback_url",
                            @"about, picture", @"fields",
                            @"ItsMeAlright", @"verify_token",
                            nil
                            ];
    /* make the API call */
    [FBRequestConnection startWithGraphPath:@"/{app-id}/subscriptions"
                                 parameters:params
                                 HTTPMethod:@"POST"
                          completionHandler:^(
                                              FBRequestConnection *connection,
                                              id result,
                                              NSError *error
                                              ) {
                              /* handle the result */
                               NSLog(@"error= %@",error);
                          }];
    }

我几乎是从 FB 手册上复制过来的。

关于 http://www.example.com/fbcallback.php我有这段代码:

<?php
$hub_mode = $_GET['hub_mode'];
$hub_challenge = $_GET['hub_challenge'];
$hub_verify_token = $_GET['hub_verify_token'];
if ($hub_verify_token =='ItsMeAlright')
{
    echo $hub_challenge;
}
//and here i am planning to add some logic.
?>

不幸的是,当 iOS 运行我的方法时,它记录了以下错误:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x7e921970 {com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0x7d7a21a0 {NSUnderlyingError=0x7d4388c0 "unsupported URL", NSLocalizedDescription=unsupported URL}, com.facebook.sdk:HTTPStatusCode=200, com.facebook.sdk:ErrorSessionKey=, expirationDate: 2015-04-07 09:12:48 +0000, refreshDate: 2015-02-07 08:57:41 +0000, attemptedRefreshDate: 0000-12-30 00:00:00 +0000, permissions:( "public_profile", email, "user_friends" )>}

这是怎么回事?该错误实际上表明这是 iOS 问题。我很困惑。希望你不是。

最佳答案

所有官方 Facebook 文档都使用 {user-id},{app-id} 作为占位符。

如果您不想提供应用 ID 并让 API 确定它,请使用 app。所以,

[FBRequestConnection startWithGraphPath:@"/app/subscriptions"

在将来进行测试时,最好仅在基本设置中仅使用 API,例如https://developers.facebook.com/tools/explorer/这样您就可以在执行特定于平台的实现之前确保 API 调用正常工作。

关于ios - FB Graph 订阅 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28380486/

相关文章:

facebook-graph-api - 页面Feed中的LIMIT,SINCE和UNTIL参数

javascript - 关于在 Phonegap Build 上将 HTML 渲染为图像或将屏幕截图渲染为图像有什么想法吗?

ios - 加载额外数据时 UITableViewCell 高度不会改变

ios - 我可以使用新的 @import 指令导入自定义框架吗?

ios - "There is no registered handler for URL scheme com-google-gidconsent"使用 GIDSignIn 登录时出错

iphone - 整个应用程序中的单个动画 UIImageView 背景

html - 我应该把图像放在哪里,以便我可以将它用作 og :image?

facebook - 附件链接在 Facebook Messenger 上可用的时间有多长

android - Facebook Android SDK 4.5.0 获取邮箱地址

android - 从 Facebook Graph-API 获取用户图像