0

UIImage をユーザーの facebook ウォールに投稿するための次のコードが機能しません。facebook sdk に付属するサンプル コードとその正常な動作を調べました。私のコードで何が問題なのかを見つけることができません。

-(void) shareOnFacebook
{
facebook = [[Facebook alloc] initWithAppId:@"MYAPPID" andDelegate:(id)self];

NSArray * neededPermissions = [[NSArray alloc] initWithObjects:@"offline_access",@"user_about_me", @"publish_stream", @"user_photos", nil] ;
[facebook authorize:neededPermissions ];

if (![facebook isSessionValid]) 
{





    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   img, @"picture",
                                   nil];
    [facebook requestWithGraphPath:@"me/photos"
                                    andParams:params
                                andHttpMethod:@"POST"
                                  andDelegate:(id)self];



} 

}

何が問題なのか教えてください。

前もって感謝します..

4

2 に答える 2

2

デリゲートメソッドが呼び出された後にアップロード関数を呼び出す必要があり- (void)fbDidLoginます..このようにしてみてください。うまくいくはずです

- (void)fbDidLogin {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[fb accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[fb expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];

    [self uploadImageWithName:yourImageName];
}


- (void) uploadImageWithName : (NSString*)name
{
    NSString *img = [NSString stringWithFormat:@"%@.PNG",name];
    UIImage *uploadImage = [UIImage imageNamed:img];

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   [fb accessToken], 
                                   @"access_token",nil];

    [params setObject:uploadImage forKey:@"source"];

    [fb requestWithGraphPath:@"me/photos"
                             andParams: params
                         andHttpMethod: @"POST"
                           andDelegate:self];

}
于 2012-04-05T07:48:55.940 に答える
0

意味がありませんね。セッションが有効かどうかを facebook オブジェクトに問い合わせ、有効でない場合は写真のアップロードに進みます。コードの残りの部分が問題ないかどうかはわかりませんが、少なくとも条件を削除するか、条件を変更してif ([facebook isSessionValid])、それが役立つかどうかを確認してください。

于 2012-04-05T07:12:51.137 に答える