2009-07-20 11 views
2

Je crée une application de bureau en C#. l'une des choses que cette application devrait faire est de publier des choses au statut de l'utilisateur sur facebook (comme: "dave vient de gagner 3 médailles d'or"). Cela devrait arriver si l'utilisateur est connecté maintenant à Facebook ou non. Je veux que l'utilisateur me donne toutes les permissions nécessaires une fois et que tout se passe automatiquement (je sauverais tout ce qui est nécessaire sur ma base de données). J'ai essayé d'utiliser facebook developer toolkit 2.0 pour .net mais je n'ai rien vu qui puisse m'aider. TOUTE aide serait appréciée.connexion automatique à facebook

Répondre

1

Iv'e a quelques réponses ici. Je pense que cela répond à d'autres questions que j'ai vu sur le web ces derniers temps:

Ma réponse est liée à des applications de bureau qui fonctionne en dehors de facebook (facebook connect). + J'utilise le développeur facebook toolkit 2.1:

Voici comment obtenir l'autorisation spéciale, nécessaire pour un accès hors connexion. et comment obtenir la clé de session:

facebook.Components.FacebookService FS = new facebook.Components.FacebookService(); 
FS.GetExtendedPermission(facebook.Types.Enums.Extended_Permissions.offline_access); 

La deuxième ligne vous forcera à vous connecter et je puis demander la permission après que l'utilisateur choisi d'accorder l'autorisation, vous avez dans l'URL de poste - le fb_si_session_key. Mais les développeurs de la boîte à outils n'a pas fait assez pour l'amener à vous :-(

Vous avez quelques options, le simple est de faire.

FS.Logoff(); 
FS.ConnectToFacebook(); 

Que se passera est que vous verrez l'écran de connexion pour une seconde et avant vous serez en mesure de cliquer sur quoi que ce soit il disparaîtrait, mais cette fois, vous aurez la clé de session droite, vous pouvez l'obtenir comme ça:..

string myPermanentSessionKey = FS.API.SessionKey; 

Si vous ne voulez pas montrer cet écran ennuyeux encore vous avez peu d'options, tous sont liés à changer le fil de la source es de la boîte à outils.Je ne vais pas entrer dedans ici, mais juste vous dire une option simple: dans la fonction facebookconnect() je l'ai changé pour recevoir un paramètre (isShow) quand je l'envoie vrai, il se comporte normalement, quand j'envoie faux à il - il saute sur le formLogin.ShowDialog();

Cela fonctionne.

+0

encore une chose. Après avoir donné la permission, facebook vous dit de fermer la fenêtre. mais si vous faites cela - cela soulève une exception. C'est de nouveau à cause de la boîte à outils. Je l'ai manipulé avec essayer attraper. attendant d'avoir une meilleure boîte à outils dans le futur ou de la réparer moi-même quand j'aurai du temps –

+0

maintenant que je suis plus expérimenté dans facebook, je crois qu'il y a de meilleurs moyens, de toute façon il ya la nouvelle API. surtout quand ils vont jeter l'ancienne API. comme Twitter font ce jour. –

4

Pour vous la question: vous devez utiliser l'API Facebook Connect

  • il y a une fonction appelée offline_access - son autorisation une étendue.
  • FB Connect vous devez activer le menu contextuel correct:
  • Le flux sera comme ça:
    • utilisateur utilise FB Connect pour confirmer le fait qu'il veut connecter votre application à son compte Facebook.
    • Vous déclenchez le popup.
    • Vous pouvez alors appeler tous les appels sur son autorisation, même s'il est déconnecté (ou ne pas utiliser facebook connecter)

Par souci de compréhension: FB Connect est conçu de cette façon que vous pouvez facilement connecter l'utilisateur dans son application et faire tout en son nom. offline_access est en fait destiné au travail de cronjob.

+0

merci. pouvez-vous me dire si (et comment) cela peut être fait via la boîte à outils du développeur? –

+0

désolé je n'ai qu'une expérience pratique avec fb connect et applications de toile –

+0

j'ai ajouté quelques liens concernant les applications de bureau - j'espère qu'ils vous aident de toute façon –

Questions connexes