2013-07-30 2 views
0

페이스 북 개발자 콘솔의 iOS 응용 프로그램 용 Facebook 응용 프로그램을 만들었지 만, 해당 응용 프로그램 ID를 사용할 때 응답이 성공하지 못할지라도 게시했습니다. 내 코드 아래에서 찾아보십시오. (심지어 특정 게시물의 ID를 얻습니다.)iOS 6 사회 프레임 워크 그래프 api가 포함 된 Facebook이 게시되지 않음

그러나 요점은 기존의 Facebook 앱 ID (현재 내 라이브 앱에 사용중인 ID)와 동일한 코드를 실행하면 게시됩니다. 제 생각에는 개발자 콘솔의 Facebook 앱 구성에서해야 할 일이 있지만 찾을 수 없습니다. 아무도 내게 단서를 줄 수 있습니까?

미리 감사드립니다.

참고 : 나는 아이폰 OS 6을 사용하여 사회 framwork

가져 오기 사용 방법

- (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?

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

변경에 있음 : 내가 그것을 작동 얻고, 마지막으로

[facebookRequest addMultipartData:data 
         withName:@"media" 
          type:@"image/jpeg" 
         filename:@"msg.jpg"]; 

답변

1

내 가정이 올바른 :)이었다

0

나는 문제가이 라인에서 MIME 유형, 문제를 생각 내가 액세스 권한을 요청할 때 새로운 권한을 추가해야합니다. 그래서 이전 앱의 페이스 북 앱 ID에서 작동한다고 말한 것입니다. 이미 그 앱에 대한 권한을 부여했기 때문입니다. 어쨌든, 관심의 해결책이 무엇인지 볼 수있는 사람들을 위해, 아래

//Specify App ID and permissions 
    NSDictionary *options = @{ 
           ACFacebookAppIdKey: @"xxxxxxxxxxxxxxx", 
           ACFacebookPermissionsKey: @[@"publish_stream", @"publish_actions"], 
           ACFacebookAudienceKey: ACFacebookAudienceFriends 
           }; 

요청이 새로운 권한 publish_stream과 답변 publish_actions

+0

감사를 발견했지만 작동하지 않으며, 코드 경우 다른 Facebook 앱 ID로 어떻게 작동합니까? –

관련 문제