如何从c#web服务发布到facebook墙?
我试过很多方法,但都不知道如何通过网络服务将内容发布到facebook的墙上。有人知道这是否可能吗?似乎发布内容的唯一方法是在网站中包含登录页面,这不是我想要做的。对于twitter,我可以用不到10行代码在tweet上发送消息;只需将用户名/密码添加到请求头并流式传输消息。我想我想问的是,有没有一种类似的简单方法可以为facebook做到这一点?提前谢谢 你需要先做。在facebook上设置此项时的重要设置有: 连接->Facebook连接设置->连接URL 这个url有两个用途。首先,该URL将用作放置xd_receiver.htm文件的基础 因此,如果您的url是:如何从c#web服务发布到facebook墙?,c#,facebook,service,twitter,C#,Facebook,Service,Twitter,我试过很多方法,但都不知道如何通过网络服务将内容发布到facebook的墙上。有人知道这是否可能吗?似乎发布内容的唯一方法是在网站中包含登录页面,这不是我想要做的。对于twitter,我可以用不到10行代码在tweet上发送消息;只需将用户名/密码添加到请求头并流式传输消息。我想我想问的是,有没有一种类似的简单方法可以为facebook做到这一点?提前谢谢 你需要先做。在facebook上设置此项时的重要设置有: 连接->Facebook连接设置->连接URL 这个url有两个用途。首先,该UR
http://yoursite.com
那么您必须在url上有一个文件http://yoursite.com/xd_receiver.htm
允许运行
但是,我强烈建议您不要使用根url。在页面上选择一个子目录,该子目录不链接。类似于http://yoursite.com/ex/fb
会做得很好(我喜欢“外部”的ex
,但它完全是主观的)
虽然您不一定需要JavaScript客户端库来执行实际的发布。然而,你确实需要它来给你自己的权利,你需要张贴到墙上
高级->高级设置->应用程序类型
此设置为“桌面”
设置应用程序后,请注意以下事项(从应用程序主页):
<%@ Page Language="C#"%>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<script
src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/
FeatureLoader.js.php" type="text/javascript"></script>
</head>
<body>
<fb:login-button></fb:login-button>
<hr>
<fb:prompt-permission perms="offline_access">Click to grant offline
access permission.</fb:prompt-permission>
<fb:prompt-permission perms="publish_stream">Click to grant publish
stream permission.</fb:prompt-permission>
<fb:prompt-permission perms="read_stream">Click to grant read stream
permission.</fb:prompt-permission>
<input type="button" value="Get session key" onclick="
document.all('apikey').value=FB.Facebook.apiClient.
get_session().session_key;" />
<input type="text" size="100px" id="apikey" />
<script type="text/javascript">
FB_RequireFeatures(["XFBML"], function () {
FB.Facebook.init("API Key", "xd_receiver.htm URL");
});
</script>
</body>
</html>
单击此处可授予脱机权限
访问权限。
单击以授予发布权限
流权限。
单击以授予读取流
许可。
FB_需求特性([“XFBML”],函数(){
init(“API密钥”,“xd_receiver.htm URL”);
});
值得注意的两件事是:
- 您正在请求脱机访问。这是允许您在用户不在线时将其张贴到墙上的关键
- read_stream权限,我不知道是否有必要发布到该流,但拥有它并没有坏处
- 很明显,这是一个错误
fb
名称空间的标记
当你第一次看到它时,你会看到一个Facebook连接按钮。单击它并使用您要发布到的用户的凭据登录
登录后,页面将重新加载,fb:prompt permission
标记将显示为链接。点击链接告诉Facebook,用户允许应用程序访问关于其个人资料的内容
授予应用程序所有权限后(可能会出现一些对话框),单击“获取会话密钥”按钮
这将使用会话密钥填充文本框。因为您的应用程序已请求脱机访问,所以无论何时使用此会话密钥,Facebook都会识别它
现在,您有以下信息:
- 应用程序API密钥
- 应用程序密钥(从应用程序页面获得)
- 您要发布到的页面的用户id(您应该能够从您的Facebook url获取此信息)
- 应用程序接口
- 客户机密
- 会话密钥
- 要发布到的墙的用户id
现在,有了所有这些,当您进行API调用时,使用客户机机密代替应用程序机密,以及您的会话密钥,您应该能够进行调用以写入用户的墙壁(或用户拥有的页面,如果您有该id的话)通过您的服务,无需任何用户界面登录。查看Facebook开发问题:)@Daniel Schaffer:当时,对于.NET来说,它比其他框架更适合我访问FB API。在引入新API时,进行新API调用也很容易,因为所有的管道都在那里。