これらを許可しないため、Facebookからすべての友達を直接取得することはできません。ただし、次のことを行うことはできますが、その友達のFacebook IDを取得することはできません.名前とプロフィール写真しか取得できません.
注: taggable_friends を使用するには、Facebook から承認を得る必要があります。
var request = FBSDKGraphRequest(graphPath:"/me/taggable_friends", parameters: nil);
許可が正常に付与されているかどうかを以下のように確認する必要があります。その後、友達リストを確認できます。
if (FBSession.activeSession.state == FBSessionStateOpen
|| FBSession.activeSession.state == FBSessionStateOpenTokenExtended)
{
[self loadFacebookFriends];
}
else
{
[FBSession openActiveSessionWithReadPermissions:@[@"public_profile,email,user_friends"] allowLoginUI:YES completionHandler:
^(FBSession *session, FBSessionState state, NSError *error)
{
if (!error)
{
if (state == FBSessionStateOpen)
{
[FBSession setActiveSession:session];
[self loadFacebookFriends];
}
else
{
NSLog(@"Status :%ld",(unsigned long)state);
}
}
else
{
// Could not connect
}
}];
}
-(void)loadFacebookFriends
{
// SEND REQUEST FOR FRIEND LISTs
FBRequest* friendsRequest = [FBRequest requestForGraphPath:@"/me/friends"];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error)
{
[appDelegate activityHide];
if (error)
{
return ;
}
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %lu friends", (unsigned long)friends.count);
}];
}
**注 : iOS 9 を使用している場合は、info.plist でアプリに次の権限を付与する必要があります。このリンクを参照することもできます https://developers.facebook.com/docs/ios/ios9
**
info.plist に以下のトランスポート セキュリティを追加します。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>graph.facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fbapi20130214</string>
<string>fbapi20130410</string>
<string>fbapi20130702</string>
<string>fbapi20131010</string>
<string>fbapi20131219</string>
<string>fbapi20140410</string>
<string>fbapi20140116</string>
<string>fbapi20150313</string>
<string>fbapi20150629</string>
<string>fbauth</string>
<string>fbauth2</string>
<string>fb-messenger-api20140430</string>
<string>fb-messenger-platform-20150128</string>
<string>fb-messenger-platform-20150218</string>
<string>fb-messenger-platform-20150305</string>
</array>