0

Facebook 開発者コンソールで iOS アプリケーション用の Facebook アプリを作成しましたが、そのアプリ ID を使用すると、応答が成功しても投稿されません。私のコードの下を見つけてください(その特定の投稿のIDを取得しても)

しかし、要点は、既存の Facebook アプリ ID (現在ライブ アプリに使用している) で同じコードを実行すると、これが投稿されて正常に動作するということです。開発者コンソールですが、見つかりませんでした。誰でも私に手がかりを与えることができますか?

前もって感謝します。

注 : iOS 6 ソーシャル フレームワークを使用しています

Get User メソッド

    - (void)getUserAndShare {
    NSLog(@"Getting User");

    if(!_accountStore)
        _accountStore = [[ACAccountStore alloc] init];

    ACAccountType *facebookTypeAccount = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
    [_accountStore requestAccessToAccountsWithType:facebookTypeAccount
                                           options:@{ACFacebookAppIdKey: @"xxxxxxxxxxxxxx", ACFacebookPermissionsKey: @[@"email"]}
                                        completion:^(BOOL granted, NSError *error) {
                                            if(granted){
                                                NSArray *accounts = [_accountStore accountsWithAccountType:facebookTypeAccount];
                                                _facebookAccount = [accounts lastObject];
                                                NSLog(@"Success account");

                                                [_accountStore renewCredentialsForAccount:_facebookAccount completion:^(ACAccountCredentialRenewResult renewResult, NSError *error) {
                                                    if (error){

                                                    }

                                                    [self postPhoto:nil];
                                                }];


                                            }
                                        }];

}

共有方法

-(IBAction)postPhoto{

    if(!_accountStore)
        _accountStore = [[ACAccountStore alloc] init];

    NSDictionary *parameters = @{@"message": @"this is a resource picture 2", ACFacebookAppIdKey: @"xxxxxxxxxxxxxx"};

    SLRequest *facebookRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
                                                    requestMethod:SLRequestMethodPOST
                                                              URL:[NSURL URLWithString:@"https://graph.facebook.com/me/photos"]
                                                       parameters:parameters];

    NSData *data = UIImagePNGRepresentation([UIImage imageNamed:@"sec.jpg"]);
    [facebookRequest addMultipartData: data
                             withName:@"source"
                                 type:@"multipart/form-data"
                             filename:@"msg.jpg"];

    facebookRequest.account = _facebookAccount;

    [facebookRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
     {
         if (error) {
         }
         else
         {
             NSLog(@"Post successful");
             NSString *dataString = [[NSString alloc] initWithData:responseData encoding:NSStringEncodingConversionAllowLossy];
             NSLog(@"Response Data: %@", dataString);
         }
     }];
}

編集:呼び出し時にグラフAPIを使用する特別な許可を要求する必要がありrequestAccessToAccountsWithTypeますか?

4

2 に答える 2

0

問題は MIME タイプにあると思います。次の行の問題です。

[facebookRequest addMultipartData: data
                             withName:@"source"
                                 type:@"multipart/form-data"
                             filename:@"msg.jpg"];

それを次のように変更します。

[facebookRequest addMultipartData:data
                       withName:@"media"
                           type:@"image/jpeg"
                       filename:@"msg.jpg"];
于 2013-07-30T18:37:56.003 に答える