0

iPhoneアプリの画面でFacebook共有オプションを提供していますが、ユーザーのFacebookプロファイルでいくつかの画像とURLを共有する必要があります。ShareKitのようなサードパーティのフレームワークやiOS用のfacebooksdkのような他の機能があることは知っていますが、これは私が同じようにできる最善の方法であり、画像に示すように、これまでの共有数で共有ボタンを取得する必要があります下

ここに画像の説明を入力してください

クリックすると、認証にリダイレクトされます。そして、iOS5以降と互換性があるはずです。私の質問が明確であることを願っています。

前もって感謝します

4

1 に答える 1

0

調査を通じて自分で質問を解決しました

Graph API私のアプリケーションは + からのサポートを必要とするため、Facebook を使用iOS4しました。iOS6 の場合、iOS6Facebook との統合があり、それを実装するために数行のコードしか必要としない場合は簡単でした。ファイルをインポートGraph APiし、次のコードを追加しました。

@synthesize facebook;

//login with facebook
- (IBAction) facebookButtonPressed {
    if (!facebook || ![facebook isSessionValid]) {
        self.facebook = [[[Facebook alloc] init] autorelease];
        NSArray *perms = [NSArray arrayWithObjects: @"read_stream", @"create_note", nil];
        [facebook authorize:FACEBOOK_API_KEY permissions:perms delegate:self];
    }
    else {
        [self fbDidLogin];
    }
}

//upload image once you're logged in
-(void) fbDidLogin {
    [self fbUploadImage];
}

- (void) fbUploadImage
{
    NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                    resultImage, @"picture",
                                    nil];
    [facebook requestWithMethodName: @"photos.upload" 
                          andParams: params
                      andHttpMethod: @"POST" 
                        andDelegate: self]; 

    self.currentAlertView = [[[UIAlertView alloc]
                             initWithTitle:NSLocalizedString(@"Facebook", @"")  
                             message:NSLocalizedString(@"Uploading to Facebook.", @"")  
                             delegate:self 
                             cancelButtonTitle:nil
                             otherButtonTitles: nil] autorelease];

    [self.currentAlertView show];
}

//facebook error
- (void)request:(FBRequest*)request didFailWithError:(NSError*)error
{

    [self.currentAlertView dismissWithClickedButtonIndex:0 animated:YES];
    self.currentAlertView = nil;

    UIAlertView *myAlert = [[UIAlertView alloc]
                            initWithTitle:NSLocalizedString(@"Error", @"")  
                            message:NSLocalizedString(@"Facebook error message", @"")
                            delegate:self 
                            cancelButtonTitle:nil
                            otherButtonTitles:@"OK", nil];
    [myAlert show];
    [myAlert release];
}

//facebook success
- (void)request:(FBRequest*)request didLoad:(id)result
{
    [self.currentAlertView dismissWithClickedButtonIndex:0 animated:YES];
    self.currentAlertView = nil;

    UIAlertView *myAlert = [[UIAlertView alloc]
                            initWithTitle:NSLocalizedString(@"Facebook", @"") 
                            message:NSLocalizedString(@"Uploaded to Facebook message", @"")
                            delegate:self 
                            cancelButtonTitle:nil
                            otherButtonTitles:@"OK", nil];
    [myAlert show];
    [myAlert release];
}

Facebook で特定の URL の共有数を取得するには、次のようにします。

http://graph.facebook.com/?id=url

ただし、これはすべてのいいね、共有、投稿の数をまとめて返すため、そうするための代替手段を見つけたほうがよいでしょう。

これが役立つことを願っていますありがとう

于 2013-01-16T11:21:07.910 に答える