2013-10-09 2 views
1

Я пытаюсь опубликовать объект из своей игры iOS. Я дважды проверяю разрешения и копирую и вставляю код, который мне дал Facebook, и он не работает: SOpen Graph story post Object

любая идея?

NSMutableDictionary<FBGraphObject> *object = 
[FBGraphObject openGraphObjectForPostWithType:@"game:level" 
             title:@"Sample Level 2" 
             image:@"https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png" 
              url:@"http://samples.ogp.me/367110273423562" 
            description:@""];; 

object[@"create_object"] = @"1"; 
object[@"fbsdk:create_object"] = @"1"; 

[FBRequestConnection startForPostWithGraphPath:@"me/objects/game:level" 
            graphObject:object 
          completionHandler:^(FBRequestConnection *connection, 
               id result, 
               NSError *error) { 
           // handle the result 
           NSLog(@"Result: %@",error); 
          }]; 

обратный вызов Ошибки:

Result: Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x1690d1d0 {com.facebook.sdk:HTTPStatusCode=400, com.facebook.sdk:ParsedJSONResponseKey={ 
    body =  { 
     error =   { 
      code = 2500; 
      message = "Cannot specify type in both the path and query parameter."; 
      type = OAuthException; 
     }; 
    }; 
    code = 400; 
}, com.facebook.sdk:ErrorSessionKey=<FBSession: 0xae21820, state: FBSessionStateOpen, loginHandler: 0xc1279f0, appID: 358605784274011, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xae227a0>, expirationDate: 2013-12-07 05:14:08 +0000, refreshDate: 2013-10-08 14:48:02 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(
    "basic_info", 
    installed, 
    "user_location", 
    email, 
    "user_friends", 
    "user_birthday", 
    "publish_actions" 
)>} 

Я пытаюсь найти решение, но я не нашел его на прошивке

Благодаря

ответ

3

Вы получаете сообщение об ошибке, потому что оба Cannot specify type in both the path and query parameter параметры object и graphPath содержат тип объекта, то есть game:level. Вместо передачи @"me/objects/game:level" просто используйте @"me".

+2

Да, это успех, но вы не получите идентификатор объекта в результате. – sahara108

1

У меня была такая же проблема, но она была решена, создав объект и тип действия в разделе открытого графика приложения. Для создания действий и объектов для ссылки this link. Это отличный пример для публикации пользовательских историй. И если вы уже создали объекты и действия, то перепроверьте пространство имен и вызовите действия над объектами.

Смежные вопросы