2013-12-20 1 views
1

Я пытаюсь использовать Graph API из iOS SDK для Facebook.Публикация действия запуска с использованием Facebook iOS SDK

До сих пор мне удалось опубликовать простое обновление статуса с помощью:

[connection addRequest:[FBRequest requestForPostStatusUpdate:@"Test" 
    completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
     if (error) [self.appDelegate showUnknownCommunicationError]; 
    }]; 
[connection start]; 

Далее я попытался отправить действие запустить с помощью provided sample:

NSMutableDictionary<FBGraphObject> *action = [FBGraphObject graphObject]; 
action[@"course"] = @"http://samples.ogp.me/136756249803614"; 

[FBRequestConnection startForPostWithGraphPath:@"me/fitness.runs" 
            graphObject:action 
          completionHandler:^(FBRequestConnection *connection, 
               id result, 
               NSError *error) { 
           // handle the result 
          }]; 

Это не бросать какие-либо ошибки, но ничего не появляется на моей стене. Я думал, что это потому, что приложение идентификатор из этого образца не соответствует моим, так что я пытался построить конечно, себя так:

NSMutableDictionary<FBGraphObject> *action = [FBGraphObject graphObject]; 

action[@"fb:app_id"] = FB_APP_ID; 
action[@"og:type"] = @"fitness.course"; 
action[@"og:title"] = @"Sample Course"; 
action[@"og:image"] = @"https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png"; 
action[@"og:description"] = @"Test description"; 
action[@"og:url"] = @"https://mysite.pl/"; 

Это бросает ошибку и говорит, что мой объект отсутствует свойство курса. Я запутался сейчас ...

Действие Запустить для моего приложения пока не удалось, но я думаю, что это не проблема, так как я тестирую его с помощью моей учетной записи разработчика.

EDIT. Я получил тонны бревен от Facebook регистраторе:

FBSDKLog: Request <#1111>: 
    URL: https://graph.facebook.com 
    Method: POST 
    UserAgent: FBiOSSDK.3.10.0 
    MIME: multipart/form-data; boundary=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f 
    Body (w/o attachments): 
    batch_app_id: 1409052495999988 
    batch: [{"method":"POST","relative_url":"me\/fitness.runs?sdk=ios&migration_bundle=fbsdk%3A20131015&format=json&access_token=ACCESS_TOKEN_REMOVED","body":"course=http%3A%2F%2Fsamples.ogp.me%2F136756249803614"},{"method":"GET","relative_url":"method\/auth.extendSSOAccessToken?sdk=ios&migration_bundle=fbsdk%3A20131015&format=json&access_token=ACCESS_TOKEN_REMOVED"}] 

2013-12-23 09:28:53.756 RunGuru[1559:60b] FBSDKLog: Response <#1111> 
Duration: 1551 msec 
Size: 1672 kB 
Response Body: 
(
     { 
     body =   { 
      id = 10201708817820717; 
     }; 
     code = 200; 
     headers =   (
         { 
       name = "Access-Control-Allow-Origin"; 
       value = "*"; 
      }, 
         { 
       name = "Cache-Control"; 
       value = "private, no-cache, no-store, must-revalidate"; 
      }, 
         { 
       name = Connection; 
       value = close; 
      }, 
         { 
       name = "Content-Type"; 
       value = "text/javascript; charset=UTF-8"; 
      }, 
         { 
       name = Expires; 
       value = "Sat, 01 Jan 2000 00:00:00 GMT"; 
      }, 
         { 
       name = Pragma; 
       value = "no-cache"; 
      }, 
         { 
       name = "x-fb-loadmon"; 
       value = "0,67.29,30"; 
      } 
     ); 
    }, 
     { 
     body =   { 
      "error_code" = 3; 
      "error_msg" = "Unknown method"; 
      "request_args" =    (
           { 
        key = sdk; 
        value = ios; 
       }, 
           { 
        key = "migration_bundle"; 
        value = "fbsdk:20131015"; 
       }, 
           { 
        key = format; 
        value = json; 
       }, 
           { 
        key = "access_token"; 
        value = ACCESS_TOKEN_REMOVED; 
       }, 
           { 
        key = "_fb_url"; 
        value = "method/auth.extendSSOAccessToken"; 
       }, 
           { 
        key = "_fb_profilable_request_id"; 
        value = 1747586569; 
       }, 
           { 
        key = method; 
        value = "auth_extendssoaccesstoken"; 
       }, 
           { 
        key = "_fb_batch_child_request"; 
        value = 1; 
       }, 
           { 
        key = "_fb_batch_expires"; 
        value = 1387787339; 
       }, 
           { 
        key = "_fb_batch_sig"; 
        value = AfiDnh1EPSHTbQKV; 
       } 
      ); 
     }; 
     code = 200; 
     headers =   (
         { 
       name = "Access-Control-Allow-Origin"; 
       value = "*"; 
      }, 
         { 
       name = "Cache-Control"; 
       value = "private, no-cache, no-store, must-revalidate"; 
      }, 
         { 
       name = Connection; 
       value = close; 
      }, 
         { 
       name = "Content-Type"; 
       value = "application/json"; 
      }, 
         { 
       name = Expires; 
       value = "Sat, 01 Jan 2000 00:00:00 GMT"; 
      }, 
         { 
       name = Pragma; 
       value = "no-cache"; 
      }, 
         { 
       name = "x-fb-loadmon"; 
       value = "0,67.29,30"; 
      } 
     ); 
    } 
) 

2013-12-23 09:29:48.899 RunGuru[1559:60b] FBSDKLog: Request <#1115>: 
    URL: https://graph.facebook.com/1409052495999988?fields=supports_attribution,supports_implicit_sdk_logging,suppress_native_ios_gdp,name&format=json&migration_bundle=fbsdk%3A20131015&sdk=ios 
    Method: GET 
    UserAgent: FBiOSSDK.3.10.0 
    MIME: multipart/form-data; boundary=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f 

2013-12-23 09:29:49.183 RunGuru[1559:60b] FBSDKLog: Response <#1115> 
Duration: 283 msec 
Size: 138 kB 
Response Body: 
(
     { 
     body =   { 
      id = 1409052495999988; 
      name = RunGuru; 
      "supports_attribution" = 1; 
      "supports_implicit_sdk_logging" = 1; 
      "suppress_native_ios_gdp" = 1; 
     }; 
     code = 200; 
    } 
) 

2013-12-23 09:29:49.207 RunGuru[1559:60b] FBSDKLog: Request <#1119>: 
    URL: https://graph.facebook.com/1409052495999988/activities?advertiser_tracking_enabled=1&url_schemes=%5B%22fb1409052495999988%22%5D&bundle_version=0.2&bundle_short_version=0.2&event=CUSTOM_APP_EVENTS&migration_bundle=fbsdk%3A20131015&sdk=ios&application_tracking_enabled=1&access_token=ACCESS_TOKEN_REMOVED&bundle_id=pl.runguru.ios.app&advertiser_id=A3D3020D-C158-4485-A2E3-E886FC4FA54D&format=json 
    Method: POST 
    UserAgent: FBiOSSDK.3.10.0 
    MIME: multipart/form-data; boundary=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f 
    Body Size: 0 kB 
    Attachments: 
    advertiser_tracking_enabled: 1 
    url_schemes: ["fb1409052495999988"] 
    bundle_version: 0.2 
    bundle_short_version: 0.2 
    event: CUSTOM_APP_EVENTS 
    migration_bundle: fbsdk:20131015 
    sdk: ios 
    application_tracking_enabled: 1 
    access_token: ACCESS_TOKEN_REMOVED 
    bundle_id: pl.runguru.ios.app 
    advertiser_id: A3D3020D-C158-4485-A2E3-E886FC4FA54D 
    format: json 
    custom_events_file: <Data - 0 kB> 

2013-12-23 09:29:49.421 RunGuru[1559:60b] FBSDKLog: Response <#1119> 
Duration: 213 msec 
Size: 4 kB 
Response Body: 
(
     { 
     body =   { 
      "FACEBOOK_NON_JSON_RESULT" = true; 
     }; 
     code = 200; 
    } 
) 

ответ

1

Ваш пример кода работает отлично, странное дело в том, что деятельность не отображается на шкале времени там корм для какой-то причине. Если вы заглянете в свой журнал активности для своего приложения, сначала зайдите в свой профиль -> кнопку журнала активности возле обложки pic, вы увидите, что она была создана.

Лучший способ, чтобы подтвердить это работает на консоль все facebook события, используя следующий код:

[FBSettings setLoggingBehavior:[NSSet setWithObjects:FBLoggingBehaviorFBRequests, nil]]; 

В следующий раз вы запустите ваш код, который вы увидите на самом деле HTTP запрос, который был отправлен, а также ответ назад из facebook, который должен содержать новый идентификатор объекта графика.

+0

Это дает мне много отзывов. К сожалению, ничто из этого не имеет для меня никакого смысла:/ –

+0

Не могли бы вы поделиться выходом? –

+0

Не можете найти этот журнал активности, о котором вы говорите. Не могли бы вы быть более конкретными? –

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

  • Нет связанных вопросов^_^