Facebook Open Graph Action 编码错误

标签 facebook facebook-graph-api action facebook-opengraph

我想了很久,调试工具和终端控制台都没有问题,但是在下面的代码中一直弹出“发生错误”:

<script type="text/javascript">
    function postCook()
    {
        $pageURL = window.location;

        FB.api('/me/bgfapp:watch?movie=' + $pageURL,'post',
                    function(response) {
            if (!response || response.error) {
                    alert('Error Occurred');
            } else {
                alert('Post was successful! Action ID: ' + response.id);
                }
        });
    }
 </script>

我尝试回显 $pageURL 并成功返回当前 URL,所以我无法弄清楚上面的代码有什么问题


更新时间:2012 年 1 月 30 日

错误说:发生错误[object Object][object Object]

最佳答案

您可能已经找到了解决方案,但希望这会对其他人有所帮助。

这里的问题是您不知道响应对象中子节点的名称。如果您无法命名特定节点,那么您将不断收到该错误消息:“发生错误 [Object object] 消息”

我有一个简单的解决方法,可以让您在不知道响应对象的子节点名称的情况下看到错误消息。 JSON.stringify 会将整个对象简单地转换成一个字符串,让您可以查看其内容。它不会很漂亮,但您肯定能够在其中看到错误消息。

试试这个:

<script type="text/javascript">
function postCook()
{
    $pageURL = window.location;
    FB.api('/me/bgfapp:watch?movie=' + $pageURL,'post', function(response) {
        if (!response || response.error) {
          alert(JSON.stringify(response));
        } 
        else {
          alert('Post was successful! Action ID: ' + response.id);
        }
    });
}

另一种解决方案是将响应对象的内容输出到控制台而不是执行警报,只需将我的代码示例中的第 7 行替换为:

console.log(response);

从这里,您可以打开 Web 浏览器的开发控制台并遍历响应对象的内容。由于控制台并不总是可用(例如 phonegap 应用程序),因此前一种解决方案有时更合适。

关于Facebook Open Graph Action 编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9051689/

相关文章:

Android KeyHash 在 Debug 时有效,在我从 APK 安装 App 时无效

用于将音乐发布到时间线的 Facebook 设置

ios - 如何获得在未发布的 iOS 应用程序中使用的开放图操作的批准?

ruby-on-rails - Rails current_page?与 controller.controller_name 对比

facebook - Instagram Insight Metrics 与 Facebook Graph API

ios - FBSDKSharePhoto 标题不显示

facebook - 无效的 redirect_uri : Given URL is not allowed by the Application configuration

javascript - 使用 Facebook Graph Api 访问非公开数据

java - Facebook Graph Java HttpsURLConnection 返回错误 400

php - 获取变量错误