Ios 通过新图表发布Facebook操作

Ios 通过新图表发布Facebook操作,ios,objective-c,facebook,facebook-graph-api,Ios,Objective C,Facebook,Facebook Graph Api,我只是想用iOS SDK/new graph在Facebook上发布一个动作 问题是我一直收到一个警告,说“行动至少需要 “一个引用”它无效,因为它未指定任何引用 物体。必须至少指定以下属性之一: 事件、朋友、收藏、提醒 这是我目前的代码: FBSDKAccessToken *token = [FBSDKAccessToken currentAccessToken]; FBSDKGraphRequestConnection *connection = [[FBSDKGraphRe

我只是想用iOS SDK/new graph在Facebook上发布一个动作

问题是我一直收到一个警告,说“行动至少需要 “一个引用”它无效,因为它未指定任何引用 物体。必须至少指定以下属性之一: 事件、朋友、收藏、提醒

这是我目前的代码:

    FBSDKAccessToken *token = [FBSDKAccessToken currentAccessToken];
    FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init];
    NSMutableDictionary<FBGraphObject> *action = [FBGraphObject graphObject];
   NSMutableDictionary<FBGraphObject> *course = [FBGraphObject openGraphObjectForPost];
    course[@"og:title"] = @"My Event";
    course[@"og:type"] = @"myEventApp:event";
    course[@"og:url"] = [NSURL URLWithString:@"http://www.facebook.com"];
    course[@"og:description"]  = @"Yaba daba doo";
    action[@"course"] = course;

    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/myEventApp:add" parameters:action tokenString:token.tokenString version:@"v2.3" HTTPMethod:@"POST"];

    [connection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                                if(error)
                                    NSLog(@"%@", error);
                                else
                                    NSLog(@"%@", result);

                            }];

    [connection start];
FBSDKAccessToken*token=[FBSDKAccessToken currentAccessToken];
FBSDKGraphRequestConnection*连接=[[FBSDKGraphRequestConnection alloc]init];
NSMutableDictionary*操作=[FBGraphObject graphObject];
NSMutableDictionary*course=[FBGraphObjectOpenGraphObjectForPost];
课程[@“og:标题”]=@“我的活动”;
课程[@“og:类型”]=@“myEventApp:事件”;
课程[@“og:url”]=[NSURL URLWithString:@”http://www.facebook.com"];
课程[@“og:description”]=“Yaba daba doo”;
行动[@“过程”]=过程;
FBSDKGraphRequest*请求=[[FBSDKGraphRequest alloc]initWithGraphPath:@“me/MyEventTapp:add”参数:操作令牌字符串:令牌。令牌字符串版本:@“v2.3”HTTPMethod:@“POST”];
[连接添加请求:请求完成处理程序:^(FBSDKGraphRequestConnection*连接,id结果,NSError*错误){
如果(错误)
NSLog(@“%@”,错误);
其他的
NSLog(@“%@”,结果);
}];
[连接启动];
过帐数据: 您应该添加权限@“发布操作”

请尝试以下代码:

 if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
        // TODO: publish content.
        NSLog(@"published...");
    } else {
        FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
        [loginManager logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
            //TODO: process error or result.
        }];
    }

操作没有og:url。对象需要引用,而操作需要引用对象。您应该将操作[@“og:url”]改为操作[@“{my_object_type}”,将{my_object_type}替换为可以进入您的操作的对象。更新了我的代码,现在我没有收到UIAlertView错误,而是出现以下错误:错误域=NSURlerErrorDomain代码=-1002“不支持的url”用户信息=0x170866400{NSLocalizedDescription=unsupported URL,NSUnderlyingError=0x1706457f0“unsupported URL”}也尝试了课程[@“og:URL”]=@“也注意到FBSDKLog:unsupported FBSDKGraphRequest附件:{data={};“fbsdk:create_object”=1;“og:description”=“Yaba daba-doo”;“og:image”;“og:title”=“My Event”;“og:type”=“myEventApp:event”;“og:url”=“”;},跳过。嗯,facebook.com不是该og对象的有效url。