【发布时间】:2012-07-30 10:22:16
【问题描述】:
有人可以提供有关如何设置链接到企业页面以允许从外部网站发布的 Facebook 应用程序的最新指南吗?
我已经使用 Facebook 登录应用程序创建了一个网站,并且我正在使用 JavaScript SDK 将内容从我们的网站发布到我们的业务页面。
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
<title>My Feed Dialog Page</title>
</head>
<body>
<div id='fb-root'></div>
<script src='http://connect.facebook.net/en_US/all.js'></script>
<p><a onclick='postToFeed(); return false;'>Post to Feed</a></p>
<p id='msg'></p>
<script>
FB.init({appId: "OURAPPID", status: true, cookie: true, frictionlessRequests: true});
function postToFeed() {
// calling the API ...
var obj = {
method: 'feed',
link: 'http://www.ourdoamin.com/test.jsp',
picture: 'http://www.ourdoamin.com/image.jpg',
name: 'Test Article',
caption: 'Here We GO',
description: 'This is a test.'
};
function callback(response) {
document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
}
FB.ui(obj, callback);
}
</script>
当我点击 Post to Feed 链接时,我会看到一个对话框,应用在 Via 字段中被正确识别,如果我输入状态并点击 Share,我会收到一个 Post ID。
然而,尽管应用被正确引用并接收到帖子 ID,但帖子实际上显示在当前登录的用户帐户的墙上,而不是企业页面上。
我宁愿不登录,只是使用应用程序直接发布到业务页面,而不是用户个人帐户。
谁能告诉我哪里出了问题以及如何纠正这个问题?
【问题讨论】:
-
Feed 对话框有一个
toparameter ... developers.facebook.com/docs/reference/dialogs/feed -
谢谢,我添加了业务页面帐户的相应电子邮件地址如下:FB.init({appId: "OURAPPID", status: true, cookie: true,frictionlessRequests: true, to: '我的@emailcom'});它确实更改了帐户图片,但尽管获得了帖子 ID,但帖子仍然没有出现在业务页面墙上。
-
将它作为参数添加到 FB.init 完全没用——正如我所说,它是 Feed 对话框的参数 ...
-
抱歉,将参数放置在错误的函数中。如果我以管理员或其他配置文件的身份登录,它允许发布帖子,但会显示在其他人最近发布的部分中。如果我以业务页面的主帐户用户身份登录,则会收到以下错误:指定的目标无效:391723550881677。目标必须是演员可以在其墙上发布的页面、事件或用户。有没有办法让帖子显示为主要帐户持有人?
-
您所说的“主要帐户持有人”是什么意思,该页面的管理员还是什么?如果是这样 - 从管理员那里获取用户访问令牌。否则,如果您希望帖子看起来是由页面本身发布的,您还可以获得页面访问令牌。
标签: javascript facebook api sdk