2010-08-21 3 views
1

J'écris une application Facebook qui doit être publiée sur le mur d'un ami pour le compte d'un utilisateur, mais qui ne fait pas partie d'une application de canevas. Je donne les résultats suivants:Publier sur le mur d'un ami pour le compte d'un utilisateur

  • App ID
  • App
  • secrets
  • autorisations publish_stream pour l'affiche

Cela devrait être théoriquement suffisant pour faire ce que je veux. Ce que je suis en train de faire:

  1. Utilisez l'ID de l'application et le secret de l'application pour obtenir un jeton OAuth représentant mon application (voir «Authentification en tant qu'application» here).
  2. Tentative de publier sur mon mur d'un ami en utilisant un POST sur/friends_wall/alimentation (voir here) et le jeton OAuth récupéré à l'étape 1.

Cependant, cela finit par afficher sur le mur de l'ami comme l'ami plutôt que l'utilisateur (l'application dispose également des autorisations publish_stream pour l'ami). Ce n'est pas trop inattendu, car nulle part dans ce processus j'ai précisé qui devrait être l'affiche.

Ma question est: Est-il possible d'obtenir un jeton OAuth pour une application représentant un utilisateur? Si non, y a-t-il un moyen de publier sur le mur d'un ami de l'utilisateur en dehors de la portée d'une application de toile?

Merci,
Ashoat

+0

Soyez conscient que vous serez plus en mesure de poster sur le mur d'un autre utilisateur via l'API plus de 6. février 2013, voir https://developers.facebook.com/roadmap/La seule façon dont cela sera possible après cela Le point utilisera la boîte de dialogue de fil pour que l'utilisateur le déclenche activement. – CBroe

Répondre

2

En fait, je pense que j'ai compris la réponse ici. Je ne pense pas qu'il existe un moyen de le faire dans la nouvelle API OAuth, mais il semble y avoir un moyen avec l'ancienne API REST. Voir la documentation here.

remplacer simplement l'étape 2 dans ma question avec la documentation ci-dessus, en utilisant encore le jeton OAuth de l'étape 1, et vous devriez être bon :)

+0

En fait, je pense que j'ai trouvé la réponse sur Facebook chat Ashoat;) –

+0

Ouais, c'était en fait Tyler. – Ashoat

+0

Je pense que Facebook voulait se débarrasser de cette fonctionnalité, il a probablement été abusé beaucoup trop. –

3

utilisation ci-dessous le code pour l'affichage sur le mur d'amis:

NSMutableDictionary *paramspost = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            @"My test app", @"name", 
            @"http://www.google.com", @"link", 
            @"FBTestApp app for iPhone!", @"caption", 
            @"This is a description of my app", @"description", 
            @"Hello!\n\nThis is a test message\nfrom my test iPhone app!", @"message", 
            nil]; 

// Publish. 
// This is the most important method that you call. It does the actual job, the message posting. 
[ facebook requestWithGraphPath:@"100001433267690/feed" andParams:paramspost andHttpMethod:@"POST" andDelegate:self]; 

où « 100001433267690 » devrait être vos amis userId facebook

Questions connexes