我想创建一个C#控制台应用程序以在FaceBook帐户墙上创建帖子。
我试图搜索如何获取此信息,但我所获得的只是有关Web应用程序中获取access_token的信息,我们可以在其中添加重定向URL:http://localhost。
我正在使用以下代码在控制台应用程序中获取access_token。 但是我从下面的代码中得到的输出是:
{ “ access_token”:“ ***** | *************”, “ token_type”:“承载者” } 哪个App_ID | App_Secret ..其中用户Access_token的长度应该很大。
是否可以使用控制台应用程序在Facebook帐户墙上发布内容?
private const string FacebookApiId = "************";
private const string FacebookApiSecret = "**************************";
private const string AuthenticationUrlFormat =
"https://graph.facebook.com/oauth/access_token?client_id={0}&client_secret={1}&grant_type=client_credentials&scope=manage_pages,offline_access,publish_stream";
static void Main(string[] args)
{
string accessToken = GetAccessToken(FacebookApiId, FacebookApiSecret);
PostMessage(accessToken, "My message");
}
static string GetAccessToken(string apiId, string apiSecret)
{
string accessToken = string.Empty;
string url = string.Format(AuthenticationUrlFormat, apiId, apiSecret, "manage_pages,offline_access,publish_stream");
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
String responseString = reader.ReadToEnd();
NameValueCollection query = HttpUtility.ParseQueryString(responseString);
accessToken = query["access_token"];
}
if (accessToken.Trim().Length == 0)
throw new Exception("There is no Access Token");
return accessToken;
}