11

新しい Facebook SDK を使用して、指示に従って自分のウォールに公開しています

アプリから承認を得ましたが、公開しようとすると Error: HTTP status code: 400以下のエラーが表示されます コードを投稿しています

 - (void)viewDidLoad
{
self.postParams =
 [[NSMutableDictionary alloc] initWithObjectsAndKeys:
 @"https://developers.facebook.com/ios", @"link",
 @"https://developers.facebook.com/attachment/iossdk_logo.png", @"picture",
 @"Facebook SDK for iOS", @"name",
 @"build apps.", @"caption",
 @"testing for my app.", @"description",
 nil]; 

[self.postParams setObject:@"hgshsghhgsls" forKey:@"message"];

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

-(IBAction)Post{
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate openSessionWithAllowLoginUI:YES];


[FBRequestConnection   startWithGraphPath:@"me/Mac" parameters:self.postParams HTTPMethod:@"POST"
                        completionHandler:^(FBRequestConnection *connection,id result,NSError *error) {
                            NSString *alertText;
                             if (error) {
                             alertText = [NSString stringWithFormat:@"error: domain = %@, code = %d, des = %d",error.domain, error.code,error.description];
                             } 
                             else 
                             {
                             alertText = [NSString stringWithFormat:@"Posted action, id: %@",[result objectForKey:@"id"]];
                             }
                             // Show the result in an alert
                             [[[UIAlertView alloc] initWithTitle:@"Result" message:alertText delegate:self cancelButtonTitle:@"OK!"
                             otherButtonTitles:nil]show];
                        }]; 




}

私はここで何を間違っていますか?どんな提案でも素晴らしいでしょう.この新しい SDK はベータ版ですか? または完全なもの?

4

4 に答える 4

12

問題が発生した場合は、デバッグに関心のあるリクエスト呼び出しの前に、次のコードを追加してロギングをオンにしてみてください。

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

于 2012-09-19T09:44:11.043 に答える
4

最後に、アプリのアクセス許可ページで認証トークンパラメーターを URLFragment に変更する必要があるという問題を解決しました。

于 2012-08-30T11:59:43.770 に答える
0

セッションの公開権限を確認してください。

それはうまくいきました。

[FBSession openActiveSessionWithPublishPermissions:[[NSArray alloc] initWithObjects:@"publish_stream",@"email", nil]
                                   defaultAudience:FBSessionDefaultAudienceFriends
                                      allowLoginUI:YES
                                 completionHandler:^(FBSession *session,
                                                     FBSessionState state, NSError *error) {
                                     [self sessionStateChanged:session state:state error:error];
                                 }];
于 2013-04-12T23:24:42.420 に答える
0

私は自分のプロジェクトにこのフレームワークを使用しました。正常に動作します。これは私の関連コードです

   -(IBAction)logIn:(id)sender;
{
AppDelegate *appdelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if (!FBSession.activeSession.isOpen) {
    [appdelegate sessionOpener];
}
else {
    [self loginHelp];
}

そして私の sessionOpener 関数は;

 -(void) sessionOpener

{

[FBSession sessionOpenWithPermissions:nil
                    completionHandler:^(FBSession *session,
                                        FBSessionState status,
                                        NSError *error) {
                        // session might now be open.
                        if (!error) {
                            [self.viewController loginHelp];
                        }
                    }];

 NSLog(@"%d", FBSession.activeSession.isOpen);
NSLog(@"%@", FBSession.activeSession.description );

}

わたしにはできる。あなたに役立つかもしれません。

于 2012-12-29T10:42:40.710 に答える