从服务器端代码中检索访问令牌

时间:2013-04-06 22:36:23

标签: c# facebook-c#-sdk

我是Facebook新手。我需要能够从我的网站发布到其他人的墙上,这是c#.NET和asp.net。我已经注册了一个Facebook应用程序来执行此操作。

当我按下我网站上的按钮时,我想将内容分享到我自己的用户列表中,这些用户已经向我提供了他们的Facebook网址。他们将授予FB应用程序许可权。

关于如何做到这一点的信息并不多。我需要:

  1. 使用Facebook SDK检索新的accessstoken服务器端。
  2. 鉴于facebook网址,获取用户的个人资料
  3. 分享他们墙上的链接。

2 个答案:

答案 0 :(得分:0)

我使用php和javascript连接FB SDK。我不知道它可以实现到c#

  1. 您可以通过FB.getLoginStatus获取accessToken developers.facebook.com/docs/reference/javascript/FB.getLoginStatus /

  2. 你可以通过"范围"获得你想要的许可。参数(看看Graph API) http://developers.facebook.com/docs/getting-started/graphapi/

  3. 分享一些文字到墙(饲料)看"出版"在Graph API http://developers.facebook.com/docs/reference/api/publishing/

  4. 我希望它可以帮到你。 对不起我的英语技能。

答案 1 :(得分:0)

首先从https://github.com/barans/FacebookCsharpSdk

下载nuget包或dll

填写www.facebook.com/developers

中的appid和secret
var config = new Dictionary<string, object>();
config.Add("appId", "3955.......");
config.Add("secret", "4c1d...............");
config.Add("fileUpload", true); //optional
FacebookClient client = new FacebookClient(config);

此代码检索访问令牌     client.getAccessToken();

此代码检索公开可用的当前用户信息。你可以用像“999999”这样的脸书ID替换我

client.api("/me", "GET", null));

facebook不允许将服务器端墙发布给任意用户。您只能发布到当前用户的墙上,首先应该询问publish_stream权限。在得到这段代码之后发布了一个墙贴

request.Method = FacebookApiMethodType.POST;
request.Path = "/me/feed";
request.Params = new NameValueCollection();
request.Params.Add("link", "www.arcademonk.com");
request.Params.Add("message", "C# SDK Batch Request Messsage");

您可以在github页面上找到所有文档。希望它有所帮助。