Я попытался получить список друзей facebook для приложения IOS, но получаю пустой ответ от facebook.
Как получить список друзей в facebook в swift?
Я попытался получить список друзей facebook для приложения IOS, но получаю пустой ответ от facebook.
Как получить список друзей в facebook в swift?
В Graph API версии 2.0 или выше, call/me/friends возвращает друзей, которые установили те же приложения. Кроме того, вы должны запрашивать у каждого пользователя разрешение user_friends. user_friends больше не включается по умолчанию в каждый логин. Каждый пользователь должен предоставить разрешение user_friends, чтобы появиться в ответе /me/friends.
Чтобы получить список друзей, которые используют ваше приложение, используйте следующий код:
let params = ["fields": "id, first_name, last_name, middle_name, name, email, picture"]
let request = FBSDKGraphRequest(graphPath: "me/friends", parameters: params)
request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in
if error != nil {
let errorMessage = error.localizedDescription
/* Handle error */
}
else if result.isKindOfClass(NSDictionary){
/* handle response */
}
}
Если вы хотите получить доступ к списку друзей, не использующих приложение, используйте следующий код:
let params = ["fields": "id, first_name, last_name, middle_name, name, email, picture"]
let request = FBSDKGraphRequest(graphPath: "me/taggable_friends", parameters: params)
request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in
if error != nil {
let errorMessage = error.localizedDescription
}
else if result.isKindOfClass(NSDictionary){
/* Handle response */
}
}
Для извлечения списка друзей пользователь должен разрешить пользователю user_friends во время входа в систему. Для swift 3.0 добавьте ниже код для выбора списка друзей:
let params = ["fields": "id, first_name, last_name, middle_name, name, email, picture"]
FBSDKGraphRequest(graphPath: "me/taggable_friends", parameters: params).start { (connection, result , error) -> Void in
if error != nil {
print(error!)
}
else {
print(result!)
//Do further work with response
}
}
Надеюсь, это сработает!
Помните, что только те друзья, которые используют ваше приложение, и вы должны были получить разрешение на чтение для user_friends во время ведения журнала.
var fbRequest = FBSDKGraphRequest(graphPath:"/me/friends", parameters: nil);
fbRequest.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in
if error == nil {
println("Friends are : \(result)")
} else {
println("Error Getting Friends \(error)");
}
}
Обратитесь к: https://developers.facebook.com/docs/graph-api/reference/v2.3/user/friends#read
Просто создав союз, который решил мои проблемы:
От Dheeraj Singh, чтобы получить друзей, используя ваше приложение:
var request = FBSDKGraphRequest(graphPath:"/me/friends", parameters: nil);
request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in
if error == nil {
println("Friends are : \(result)")
} else {
println("Error Getting Friends \(error)");
}
}
И чтобы получить всех друзей facebook, от Meghs Dhameliya, портирован на быстрый:
var request = FBSDKGraphRequest(graphPath:"/me/taggable_friends", parameters: nil);
request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in
if error == nil {
println("Friends are : \(result)")
} else {
println("Error Getting Friends \(error)");
}
}
вы можете получить список друзей, используя taggable_friends Справочник по графическому API-интерфейсу для пользователя Taggable Friend
/* make the API call */
[FBRequestConnection startWithGraphPath:@"/me/taggable_friends"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
/* handle the result */
}];
С разрешения user_friends вы можете иметь доступ к списку своих друзей, которые также используют ваше приложение, поэтому, если ваше приложение не используется ни одним из ваших друзей, список будет пустым. См. пользовательские права ссылка
Свифт - 4
Это приведет к возврату ваших друзей в facebook с использованием того же приложения.
// First you have to check that `user_friends` has associated with your `Access Token`, If you are getting false, please allow allow this field while you login through facebook.
if FBSDKAccessToken.current().hasGranted("user_friends") {
// Prepare your request
let request = FBSDKGraphRequest.init(graphPath: "me/friends", parameters: params, httpMethod: "GET")
// Make a call using request
let _ = request?.start(completionHandler: { (connection, result, error) in
print("Friends Result: \(String(describing: result))")
})
}