【发布时间】:2012-08-13 21:07:57
【问题描述】:
如何通过具有 Publish_stream 权限的 API 将应用程序添加到(我创建的)页面?
这是迄今为止我使用 app. 使用页面访问令牌代码将应用添加到页面正在将应用添加到页面应用部分,但无法添加“publish_stream,manage_pages”权限。
用于登录 Facebook
private const string Scope = "publish_stream,manage_pages";
FacebookClient _fb = new FacebookClient();
var fbLoginUrl = _fb.GetLoginUrl(
new
{
client_id = AppId,
client_secret = Appsecret,
redirect_uri = RedirectUri,
response_type = "code",
scope = Scope,
state = state
});
获取短期访问令牌
if (Request.QueryString["code"] != null)
code = Request.QueryString["code"];
var result = _fb.Post("oauth/access_token",
new
{
client_id = AppId,
client_secret = Appsecret,
redirect_uri = RedirectUri,
code = code,
scope = Scope,
response_type="token"
});
获取长期访问令牌
var result1 = _fb.Post("oauth/access_token", 新的 { client_id = AppId, client_secret = Appsecret, grant_type = "fb_exchange_token", fb_exchange_token= 会话["fb_access_token"] 作为字符串 });
获取页面访问令牌
dynamic accounts = _fb.Get("me/accounts");
使用页面访问令牌将应用程序添加到页面
var sResult = _fb.Post("<PAGE-ID>/tabs",
new
{
app_id = AppId,
access_token = <PAGE ACCESS TOKEN>,
scope = Scope
});
【问题讨论】:
-
当您发布到
/{page}/tabs时出现什么错误消息?这是添加选项卡的正确方法,您的代码示例似乎是正确的 -
好吧,一旦将应用程序添加到页面,使用 APP 访问令牌我想向页面提要发布消息,我得到一个异常:(OAuthException - #200) (#200) 用户尚未授权应用执行此操作
-
您不能使用应用程序访问令牌发布到页面 - 应用程序不能自行发布 - 作为页面发布您需要从页面管理员检索到的页面访问令牌
-
好吧,一旦我获得 Page_Access_Token,我就成功地发布到了一个页面。但是我正在为向这些页面发布消息的几个部门用户构建一个应用程序。他们不想登录。文档说,如果获得许可,应用程序可以代表用户行事。上面提到的代码确实将应用程序添加到用户设置并授予权限。但我想将应用程序添加到我正在管理的不同页面中。这样应用就可以发布内容了。