【问题标题】:Changing the Facebook application's basic settings using Facebook API使用 Facebook API 更改 Facebook 应用程序的基本设置
【发布时间】:2016-02-19 08:27:03
【问题描述】:

由于我是Facebook API 的新手,我一直在研究它的文档,并根据文档找到了一种更改基本应用程序设置的方法。这里:https://developers.facebook.com/docs/graph-api/reference/application

所以我先试试这个:

$.post('/v2.5/'+appSec,{canvas_url:'https://apps.facebook.com/ognjen', secure_canvas_url:'https://renotifier.com/canvas/399/ognjen'});

这是对Graph API某个端点的HTTP调用。

然后是这样:

    var appSec = $('#appSec').val();
    var appId = $('#appId').val();
    console.log(appSec, appId);// catches everything totally fine

    window.fbAsyncInit = function () {
         FB.init({
         appId: appSec,
         cookie: true,  // enable cookies to allow the server to access
                                               // the session
         xfbml: true,  // parse social plugins on this page
                                version: 'v2.5' // use version 2.2
                            });

         FB.api(
              "/"+appId+"/?access_token="+appId+"|"+appSec,
              "POST",
              {
                 "canvas_url": "https://apps.facebook.com/ognjen",
                 "secure_canvas_url": "https://ognjen.com/canvas/ognjen/"
              }
              ,
              function (response) {
              if (response && !response.error) {
                    console.log(response);
              }
              }
              );
}

但是这些尝试都没有成功。我在这里也找到了类似的问题:How to change user's app settings on developers facebook profile?,在这里:Updating Facebook app settings via Graph API 并尝试了他们的答案,但没有奏效。熟悉 Graph API 的人,请帮忙,我很困惑。

更新

以防万一有人不明白,我正在尝试更改已设置的 canvas_urlsecure_canvas_urlFacebook 应用程序。

【问题讨论】:

  • 我看到的唯一错误是:appId:appSec。您可能已经找到了。

标签: javascript facebook facebook-graph-api facebook-javascript-sdk


【解决方案1】:

这里是工作要点:

https://gist.github.com/goranefbl/bbed8c255de9cbd91c92

顺便说一句。它确实可以在不调用它作为 event.subscribe 的回调的情况下工作。

【讨论】:

  • 感谢您的帮助,但这会引发错误。 Given URL is not permitted by the Application configuration: One or more of the given URLs is not permitted by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.
  • 您需要从服务器运行它而不是作为文件/简单的 html,这对我有用。我认为它指的是 js.src = "connect.facebook.net/en_US/sdk.js";
  • 如果你提到的话,我已经在服务器(不是本地主机)上启动并运行了整个项目......
  • 顺便说一句,这是错误对象的组成:error: Object code: 190 fbtrace_id: "Dz5M9gqpZKN" message: "Invalid OAuth access token." type: "OAuthException"
  • 而且,当我将其粘贴到浏览器中时:https://graph.facebook.com/endpoint?key=value&access_token=474124136110135|023f308345f945b9f3ff785c17cc2d87 这是我的应用程序的真实 ID 和机密,它显示此错误:{ "error": { "message": "(#803) Some of the aliases you requested do not exist: endpoint", "type": "OAuthException", "code": 803, "fbtrace_id": "CSTbks4jPbc" } } 所以该错误可能是由于应用程序设置不正确
【解决方案2】:

尝试将应用访问令牌放入 POST json 中:

{
    "canvas_url": "https://apps.facebook.com/ognjen",
    "secure_canvas_url": "https://ognjen.com/canvas/ognjen/",
    "access_token": appId + "|" + appSec
}

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2011-10-26
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    相关资源
    最近更新 更多