2

私は管理者である Facebook ページを持っています。Facebook にログインして を取得しましたFBSession.actionSession。すなわちisOpen = YES

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"access_token",  @"fields",
                                   nil];
    FBRequest *req = [FBRequest requestWithGraphPath:myPageID parameters:params HTTPMethod:@"POST"];
    [req startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            NSLog(@"Result: %@", result);
        });
    }];

しかし、私はnil入りましたresultmanage_pagesアクセス許可を追加する必要があることはわかっていますが、どこに追加すればよいですか?

注: Facebook SDK 3.5.3 を使用しています

デバッグ ログからの追加情報:

2013-06-27 12:18:34.722 TestFBPostPage[13224:19a03] FBSDKLog: Request <#1113>:
  URL:  https://graph.facebook.com/MY_PAGE_ID?sdk=ios&fields=access_token&migration_bundle=fbsdk%3A20130409&format=json&access_token=ACCESS_TOKEN_REMOVED
  Method:   POST
  UserAgent:    FBiOSSDK.3.5.3
  MIME: multipart/form-data; boundary=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f
  Attachments:  
    sdk:    ios
    fields: access_token
    migration_bundle:   fbsdk:20130409
    format: json
    access_token:   ACCESS_TOKEN_REMOVED

2013-06-27 12:18:34.952 TestFBPostPage[13224:19a03] FBSDKLog: Error: HTTP status code: 403
2013-06-27 12:18:34.954 TestFBPostPage[13224:19a03] FBSDKLog: Response <#1113> <Error>:
The operation couldn’t be completed. (com.facebook.sdk error 5.)
4

1 に答える 1

0

これは SDK 4.x ですが、これを機能させるために私が得たものは次のとおりです。

 __block NSString *pageToken;
        FBSDKGraphRequest *newRequest = [[FBSDKGraphRequest alloc] initWithGraphPath:[NSString stringWithFormat:@"/%@/accounts", [FBSDKAccessToken currentAccessToken].userID] parameters:nil HTTPMethod:@"GET"];
        [newRequest startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {

            if (error) {
                NSLog([error localizedDescription]);
            }else{
               //here you made need to do some debugging. not sure how it works with multiple pages
                pageToken = [[[result objectForKey:@"data"] objectAtIndex:0] objectForKey:@"access_token"];


        }];

繰り返しますが、ユーザーが複数のページの管理者である場合にどのように機能するかは完全にはわかりませんが、単一のページの管理者の場合、これが私が仕事をしなければならないことです

于 2015-05-20T04:04:30.363 に答える