私のアプリでは、写真/投稿にタグを付ける必要があります。これはソーシャルフレームワークを使用して可能ですか、またはFacebook-sdk
これに使用する必要がありますか?. また、ソーシャルフレームワークから友達リストを取得できますか? これを達成するための助けはありますか?
質問する
324 次
1 に答える
2
写真や投稿へのタグ付けは iOS 用 FacebookSDK を使用してのみ行うことができますが、ソーシャルフレームワークと iOS 用 FacebookSDK の両方を使用して友達リストを取得することができます。
このコードを使用して、SocialFramework を使用して友達リストを取得できます。
- (void)getFbFriends
{
ACAccountStore *store = [[ACAccountStore alloc] init];
ACAccountType *facebookTypeAccount = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary *options = @{
ACFacebookAppIdKey: facebookAppId,
ACFacebookPermissionsKey: @[@"email"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};
[store requestAccessToAccountsWithType:facebookTypeAccount
options:options
completion:^(BOOL granted, NSError *error){
if(granted)
{
NSArray *accounts = [store accountsWithAccountType:facebookTypeAccount];
ACAccount *facebookAccount = [accounts lastObject];
NSURL *meurl = [NSURL URLWithString:@"https://graph.facebook.com/me"];
SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:meurl
parameters:nil];
merequest.account = facebookAccount;
NSURL *requestURL = [NSURL URLWithString:@"https://graph.facebook.com/me/friends"];
SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:requestURL parameters:@{@"fields":@"id,name,picture,first_name,last_name,gender"}];
request.account = facebookAccount;
[request performRequestWithHandler:^(NSData *data,
NSHTTPURLResponse *response,
NSError *error) {
if(!error)
{
NSDictionary *list =[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
if([list objectForKey:@"error"]!=nil)
{
// if error occured e.g. Invalid Auth etc.
}
else
{
NSMutableArray *FBFriends = [[NSMutableArray alloc] init];
[FBFriends addObject:[userInfo objectForKey:@"id"]];
NSLog(@"friends %@", list);
}
}
else
{
NSLog(@"Error");
}
}];
}
else
{
NSLog(@"Error grant access");
}
}];
}
于 2013-10-29T07:08:48.943 に答える