OAuthException"(#210)主题必须是页面."

Din*_*ain 8 javascript facebook-page facebook-graph-api facebook-javascript-sdk facebook-oauth

(#210) Subject must be a page.即使我使用的是页面访问令牌而不是应用程序访问令牌,我仍然会收到OAuthException 错误.

我使用以下内容:

  1. 来自facebook的最新JavaScript SDK (//connect.facebook.net/en_US/all.js)
  2. /{PAGE_ID}/tabs?app_id={APP_ID}&method=POST&access_token={PAGE_ACCESS_TOKEN}用户登录后调用FB.api方法.

我的应用程序不是FBML,而是Canvas/iFrame应用程序.我究竟做错了什么?

我已经研究过网络,包括Stackoverflow和其他facebook论坛,但仍然没有答案.我的应用程序启用了OAuth.

另外,如果我在浏览器中复制并粘贴链接,它可以正常工作.如果我使用API​​,它不会.

Din*_*ain 5

我终于搞定了.

但是,我没有使用FB.api来调用上面的链接,而是使用了jQuery.

我使用jQuery"$ .getJson(url)"并且它有效.

它的工作原理如下.

构建如下链接.

"https://graph.facebook.com/{PAGE_ID}/tabs?app_id={APP_ID}&method=POST&access_token={PAGE_ACCESS_TOKEN}&callback=?"

调用jQuery方法如下."$ .getJSON(pageUrl,OnCallBack);" 其中"OnCallBack"是回调方法.你可以在回电中做任何你需要的事情.就我而言,它就像下面那样.

    function OnCallBack(r, s) {

        var html = "";
        if (s == "success" && !r.error) {
            for (p in r) {
                html += p + ": " + r[p] + "<br />";
            }
        } else {
            html = r.error.message;
        }
        $("#dv").html(html);
    }
Run Code Online (Sandbox Code Playgroud)