我有一个网站,我已经注册为一个Facebook应用程序 - 我现在有一个应用程序ID。使用asp.net发表评论到Facebook墙
我的网站是ASP.net C#。当用户点击一个按钮时,我希望它将预定义的消息发布到他们的墙上。我期待Facebook向用户展示登录对话框 - 他们登录并授予我的网站应用的发布权限。
有没有人有任何示例代码会这样做?我认为我需要使用图形API,但是我看过的所有示例都使用PHP--我对此一无所知。我正在寻找一个使用Java脚本(我几乎什么都不知道)或C#(美丽!)的例子。
*更新*
我设法拿到的access_token。现在我通过Facebook C#API打电话发布到墙上。我得到的错误信息:
(#803),有些要求你不存在的别名:PROFILE_ID
我已经通过API代码阶梯,发现它正试图发布到以下地址:{https://graph.facebook.com/PROFILE_ID/feed},发布数据为:message = Sample + message + from + c%23 + sdk & access_token = 199209316768200 | 2.1avFTZuDGR4HJ7jPFeaO3Q __。3600.1302897600.1- 100000242760733 | R4DkNDf4JCb6B2F64n5TSQwBqvM
我很确定我的令牌应该是有效的。此前请求访问令牌我要求publish_stream上的应用程序授权请求如下:
Response.Redirect ("https://www.facebook.com/dialog/oauth?client_id=" + myAppId + "&redirect_uri=" + myURL + "&scope=publish_stream");
该SDK代码,实际上使请求如下:
private string MakeRequest(Uri url, HttpVerb httpVerb,
Dictionary<string, string> args)
{
if (args != null && args.Keys.Count > 0 && httpVerb == HttpVerb.GET)
{
url = new Uri(url.ToString() + EncodeDictionary(args, true));
}
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = httpVerb.ToString();
if (httpVerb == HttpVerb.POST)
{
string postData = EncodeDictionary(args, false);
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] postDataBytes = encoding.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postDataBytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postDataBytes, 0, postDataBytes.Length);
requestStream.Close();
}
try
{
using (HttpWebResponse response
= request.GetResponse() as HttpWebResponse)
{
StreamReader reader
= new StreamReader(response.GetResponseStream());
return reader.ReadToEnd();
}
}
任何人都可以看到我在做什么错误?
非常感谢,
Rob。
我确实有看看,但文件似乎缺乏。我感觉这可能需要一周的时间来攀登这条学习曲线!我真的需要在本周末有所作为:| – 2011-04-08 18:50:32
好的,我写了一篇关于使用Facebook Connect的文章:http://www.devproconnections.com/article/aspnet2/how-to-use-the-facebook-connect-api-in-an-asp-net-web-应用;脸谱团队http://www.facebook.com/developers也有很好的信息。 – 2011-04-08 19:42:24
感谢Brian,但是现在Connect API已经被Graph API取代了吗? – 2011-04-11 11:13:54