您需要首先在 Facebook 上创建一个应用程序。在 Facebook 上进行此设置时的重要设置是:
此网址有两个目的。首先,该 URL 将用作跨域通信通道的基础,您可以在其中放置 xd_receiver.htm 文件。
因此,如果您的 url 是:http://yoursite.com那么您必须在该 url 处有一个文件http://yoursite.com/xd_receiver.htm,该文件允许Facebook 的 JavaScript 客户端库运行。
但是,我强烈建议您不要使用根 URL。选择一个您不在页面上链接的子目录。类似的东西http://yoursite.com/ex/fb会做得很好(我喜欢ex“外部”,但它完全是主观的)。
虽然你不一定需要JavaScript 客户端库来执行实际的发布。但是,您确实需要它来赋予自己发布到墙上所需的权利。
这设置为“桌面”。
设置应用程序后,请注意以下事项(在应用程序的主页上):
掌握了这两件事后,您希望在网站上创建一个网页,该网页使用 JavaScript 客户端库和 FBML 来赋予您的应用程序发布到其墙(或页面墙)的权利。
在此页面中,您希望使用 API 密钥以及 xd_receiver.htm 文件的路径来初始化 JavaScript 客户端库。我有一个 ASP.NET 页面,设置如下:
<%@ 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>
Run Code Online (Sandbox Code Playgroud)
值得注意的两件事是:
现在,当您转到此页面时,JavaScript 客户端库将负责使用fb命名空间呈现标签。
当您第一次看到它时,您会看到一个 Facebook Connect 按钮。单击它并使用您要发布到的墙的用户的凭据登录。
登录后,页面将重新加载,fb:prompt-permission标签将呈现为链接。单击链接会告诉 Facebook 用户允许应用程序访问有关其个人资料的信息。
授予应用程序所有权限后(在此过程中可能会出现一些对话框),单击“获取会话密钥”按钮。
这将使用会话密钥填充文本框。由于您的应用程序已请求offline_access,因此每当您使用此会话密钥时,Facebook都会识别该会话密钥。
现在,您拥有以下信息:
此时,您应该能够使用任何适用于 .NET 的 Facebook API。我更喜欢Facebook 开发者工具包。
使用您选择的组件创建一个简单的 Windows 窗体应用程序,并使用应用程序 API 和应用程序密钥。另外,在调用Windows 窗体应用程序登录之前,请将会话密钥设置为上面的会话密钥。在登录调用后设置断点。
运行您的应用程序。应该会出现一个浏览器窗口,提示您登录。登录后,您应该会遇到断点。此时,您的应用程序密钥(如果使用 Facebook Developer Toolkit)应该有所不同(我将其称为客户端密钥。将其写下来。这是您应该需要的第四条也是最后一条信息。
现在您已拥有所需的所有部件:
现在,有了所有这些,当您进行 API 调用时,使用客户端密钥代替应用程序密钥以及您的会话密钥,并且您应该能够进行调用以写入用户的墙,(或用户拥有的页面(如果您有该 ID),无需任何 UI 登录。
| 归档时间: |
|
| 查看次数: |
3377 次 |
| 最近记录: |