Facebook l'intégration avec l'application de bureau C#

im juste va plonger directement dans et vous donner un peu de fond sur ce que j'essaie de faire, ce que j'ai essayé, et les obstacles sur mon chemin. donc, ici, va..

MON OBJECTIF

Pour poster un facebook profil ou d'un mur à partir d'une application de bureau.

Le bureau de l'application sera utilisée par les utilisateurs individuels qui ont leur propre facebook compte.

L'objectif est de créer à chaque utilisateur son propre facebook app et obtenir l'id de l'application et le secret de l'app.

Et puis utiliser l'id d'application et le secret de l'app dans l'application de bureau ( Enregistré quelque part dans la base de données ou config )
pour permettre à l'utilisateur de l'application de bureau de poste à leur profil sans avoir à entrer leur adresse e-mail et mot de passe pour vous connecter en premier

Donc en résumé, 1 facebook application par facebook compte.

Les paramètres de l'application sera enregistré dans chacun des utilisateurs de l'application de bureau
La poste à leur propre facebook via leur facebook app sans vous connecter

L'accent principal étant ici que l'utilisateur n'a pas à vous connecter manuellement par l'intermédiaire d'une fenêtre ou d'un navigateur.

J'ai créé mon facebook app et que vous avez défini à vivre statut.. j'ai également ajouté dans toutes les permissions et autorisations étendues dans les paramètres ( à l'Intérieur de facebook ) juste pour s'assurer que je ne manque de rien.
J'ai donc mon AppID et le secret de l'App.. j'ai aussi mon Jeton Client dont il est dit d'utiliser à la place de l'application secret pour 'auth méthodes". Je l'utilise pour obtenir mon jeton d'accès. J'ai essayé le secret de l'app et il ne marche pas retourner le jeton d'accès

MES TENTATIVES :

C# FACEBOOK SDK
Donc, j'ai commencé avec et je suis encore en train d'essayer d'utiliser le sdk de c#

Je peux récupérer mon jeton d'accès, mais ne peut pas enregistrer.

- Je obtenir de l'il-dessous des erreurs tout le temps avec tout ce que j'essaie... ce ne sont que 2 des nombreux exemples de code que j'ai essayé.

(OAuthException - #2500) Un actif jeton d'accès doit être utilisé pour demander des informations sur l'utilisateur actuel.

dynamic r = fb.Post("me/feed", new { message = "My seconds wall post using Facebook C# SDK" });

(OAuthException - #190) Le jeton client ne peut pas être utilisé pour cette API

dynamic r = fb.Post("kevin.maguire.965/feed", new { message = "My second wall post using Facebook C# SDK" });

J'ai lu l'extrait ci-après le lien ci-dessous qui stipule mon jeton d'accès est une application jeton et j'ai besoin d'un jeton d'accès pour un utilisateur ou une page?
Besoin d'Aide sur OAuthException Code 2500
Erreur de 2500 signifie que vous n'avez pas de jeton d'accès ou une application jeton d'accès, mais essayez d'accès /me/- "le moi" est un espace réservé pour l '"utilisateur actuel ou l'ID de la page' ne sera donc pas valable sans un jeton d'accès pour un utilisateur ou une page

Donc, j'ai essayé d'obtenir le nom d'utilisateur en arrière en utilisant la Réponse suivante ( Facebook C# SDK Obtenir de l'Utilisateur Actuel )

var fb = new FacebookClient("access_token");
dynamic result = fb.Get("me", new [] { fields = "id" });
var userId = result.id;

- Je obtenir le jeton d'accès qui je suppose est l'application jeton et pas le jeton d'utilisateur

dynamic result = fb.Get("oauth/access_token", new
        {
            client_id = this.ApplicationId,
            client_secret = this.AppSecret,
            grant_type = "client_credentials"
        });

fb.AccessToken = result.access_token;

Donc je n'ai aucune idée à ce moment-là, comment publier sur mon profil

Je suis en mesure de parvenir par le biais de twitter où je peux utiliser le secret, jeton, id etc ... et je peux réussir à poster sur mon compte twitter à partir d'une application de bureau SANS se connecter à mon compte twitter.

Un autre utilisateur a aussi trouvé ça assez facile de poster sur twitter, sans véritables enjeux. ( facebook c# sdk prise en main )

Il semble également avoir eu un succès que je n'ai pas utiliser le même code, ce code a été utilise en juin 2012, donc il pouvait y avoir des modifications importantes publiées depuis
alors.

J'ai reçu le message : (OAuthException - #2500) Un actif jeton d'accès doit être utilisé pour demander des informations sur l'utilisateur actuel... quand j'ai utilisé le kit de développement sdk.
Quand j'ai essayé d'obtenir le jeton d'accès à l'aide d'une requête web et de passer ensuite que le jeton pour le sdk de l'objet à créer un facebookclient j'ai eu ce message
(OAuthException - #190) non Valide jeton d'accès OAuth signature.

    WebRequest request = WebRequest.Create("https://graph.facebook.com/oauth/access_token?      grant_type=client_credentials&client_id=999999999999999&client_secret=edefefr8e09r8e08r080r8er0e");

        request.Method = "POST";

        //Set the ContentType property of the WebRequest.
        request.ContentType = "application/x-www-form-urlencoded";

        //Get the request stream.
        Stream dataStream = request.GetRequestStream();

        //Close the Stream object.
        dataStream.Close();

        //Get the response.
        WebResponse response = request.GetResponse();
        dataStream = response.GetResponseStream();

        //Open the stream using a StreamReader for easy access.
        StreamReader reader = new StreamReader(dataStream);

        //Read the content.
        string accesstoken = reader.ReadToEnd();
        MessageBox.Show("accesstoken") 

        //Clean up the streams.
        reader.Close();
        dataStream.Close();
        response.Close();

        var fb = new FacebookClient(accesstoken);
        dynamic parameters = new ExpandoObject();
        parameters.message = "test";
        dynamic result = fb.Post("me/feed", parameters);
        var id = result.id;

Évidemment dans le code ci-dessus, j'ai changé l'id et le secret de valeurs factices.

Donc, fondamentalement, les gens...les liens ci-dessus et code ci-dessus ne sont qu'une pincée de ce que j'ai essayé à ce jour dans les derniers jours... j'ai essentiellement couru d'options et de me manque ici quelque chose qui pourrait être éviter mon attention facilement.. ou peut-être pas 🙂 je ne sais pas.

Si quelqu'un aurait même un simple formulaire windows, ou fenêtre wpf exemple d'application en utilisant le sdk de c# ou de l'utilisation de restsharp ou tout simplement à l'aide de WebRequest objet avec 'POST' méthode, puis je vous serais éternellement reconnaissant.

Juste pour itérer à nouveau qu'il est une application de bureau et de ne pas ASP.net .

Merci les gens pour votre attention et de temps.

Facebook l'intégration avec l'application de bureau C#

Facebook l'intégration avec l'application de bureau C#

Facebook l'intégration avec l'application de bureau C#

Facebook l'intégration avec l'application de bureau C#

OriginalL'auteur Kev | 2013-05-08