12
votes

Liste des amis Facebook API pour Swift iOS

J'ai essayé d'obtenir la liste des amis Facebook pour une application iOS, mais recevez une réponse vide de Facebook.

Comment obtenir une liste des amis du livre de visage à Swift?


2 commentaires

S'il vous plaît montrer du code associé.


Ici, votre statue d'applications est en direct et soumettez votre application pour examen avec les autorisations requises. Voir ma réponse Stackoverflow.com/questions/23417356/...


7 Réponses :


1
votes

avec user_friends autorisation Vous pouvez avoir accès à la liste de vos amis que utilisez votre application, donc si votre application n'est utilisée par aucun de votre ami, le la liste sera vide. Voir permission utilisateur_friends référence


0 commentaires

3
votes

Vous pouvez obtenir une liste d'amis à l'aide de Taggable_friends Référence de l'API graphique pour l'utilisateur Taggable ami Xxx


0 commentaires

8
votes

N'oubliez pas que ces amis sont récupérés qui utilisent votre application et que vous auriez dû prendre des utilisateurs de lire la permission pour user_friends strong> pendant la journalisation.

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)");

                }
            }


2 commentaires

Y a-t-il un moyen de voir "Tous les amis", y compris ceux qui n'ont pas installé la même application?


@Vandutran je ne pense pas que vous puissiez obtenir tous les amis. De New SDK, vous êtes capable d'obtenir uniquement les amis qui ont installé l'application.



7
votes

Il suffit de faire un syndicat ici qui a résolu mes problèmes:

de Dheeraj Singh, à Obtenir des amis à l'aide de votre application forte>: p>

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)");
    }
}


1 commentaires

J'ai besoin de tous amis mais taggable_friends retourne un identifiant d'extrange différent de facebookID



14
votes

Dans le graphique API V2.0 ou plus, appeler / moi / amis retourne les amis de la personne qui a installé les mêmes applications. De plus, vous devez demander la permission d'User_friends de chaque utilisateur. user_friends n'est plus inclus par défaut dans chaque identifiant. Chaque utilisateur doit accorder l'autorisation User_friends afin d'apparaître dans la réponse à /me/friends.

Pour obtenir la liste d'amis qui utilisent votre application Utilisez le code suivant: p>

    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 */
        }
    }


4 commentaires

Graphpath: "ME / AMIS VRAISANT UNIQUEMENT COMPTE D'AMIS


@HIMANSHU Mahajan, j'ai essayé vos deux codes mais je ne reçois pas une liste d'amis. C'est ma réponse: Succès (réponse: FacebookCore.Graphresponse (RawResponse: Facultatif ({Data = ();}))). Quand j'utilise "moi / amis", je n'obtiens que.


@HIMANSHU MAHAJAN AE Vous avez la liste?, Si oui. S'il vous plaît aidez-moi ... merci.


Est-ce que ce graphap est renvoyé l'identifiant de messagerie des amis?



10
votes

Pour récupérer la liste des amis doit permettre la permission de l'utilisateur user_friends strong> au moment de la connexion. Pour SWIFT 3.0 FORT> Ajouter un code ci-dessous pour rechercher la liste d'amis:

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
        }
    }


2 commentaires

Cet avantage a été obsolète le 4 avril 2018 et renvoie désormais un ensemble de données vide.


@ Alex shvets, votre statue d'application est en direct et soumettez votre application pour examen avec les autorisations requises. Voir ma réponse Stackoverflow.com/questions/23417356/...



2
votes

Swift - 4
Cela ne retournera que vos amis Facebook à l'aide de la même application.

// 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))")
        })
}


1 commentaires

Je reçois une erreur: Utilisation de l'identifiant non résolu 'fbsdkaccessToken', utilisation d'identifiant non résolu 'fbsdkgraphrequest'. J'ai importé Import FacebookLogin Import FacebookCore