3

iOS Facebook SDK 3.5 では、バックエンド サーバーを必要とせずにオープン グラフ API を使用して新しいストーリーを作成する方法があると思われます。

Facebook.com のドキュメンテーション/チュートリアルは、バックエンド サーバーを使用した方法のみを示しており、その方法を見つけることができる動作するコードはインターネット上にないようです。

コードの小さなスニペットに基づいて次のコードをまとめることができましたが、機能しません。

NSMutableDictionary<FBOpenGraphObject> *event = [FBGraphObject openGraphObjectForPost];
            event[@"type"] = @"leaf-events:event";
            event[@"title"] = @"Adam's Birthday";

            NSMutableDictionary<FBGraphObject> *action = [FBGraphObject openGraphActionForPost];
            action[@"event"] = event;

            [FBRequestConnection startForPostWithGraphPath:@"me/leaf-events:create"
                                               graphObject:action
                                         completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                             NSLog(@"Result: %@", result);
                                             NSLog(@"Error: %@", error.userInfo);
                                         }];

このコードはクラッシュし、次のように伝えます。

2013-06-19 19:40:01.451 Events[1150:60b] Error: {
"com.facebook.sdk:ErrorSessionKey" = "<FBSession: 0x1650fe80, state: FBSessionStateOpen, loginHandler: 0x1651dc20, appID: 474218799329968, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x16549810>, expirationDate: 4001-01-01 00:00:00 +0000, refreshDate: 2013-06-19 18:39:57 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(\n    \"basic_info\"\n)>";
"com.facebook.sdk:HTTPStatusCode" = 400;
"com.facebook.sdk:ParsedJSONResponseKey" =     {
    body =         {
        error =             {
            code = 3503;
            message = "(#3503) \"{\"type\":\"leaf-events:event\",\"data\":{},\"title\":\"Adam's Birthday\",\"fbsdk:create_object\":true}\" is an invalid value for property \"event\" with type \"Reference\"";
            type = OAuthException;
        };
    };
    code = 400;
};
}

誰でも私を助けて、この一見単純なタスクを実行する方法についてのサンプル コードを提供できますか?

4

1 に答える 1