【问题标题】:Facebook, Attachment Unavailable error when using the send button?Facebook,使用发送按钮时出现附件不可用错误?
【发布时间】:2011-11-15 03:43:47
【问题描述】:

我正在使用发送按钮在应用程序上分享链接和消息,但当我尝试阅读消息时收到此错误:

Attachment Unavailable
The privacy settings on this attachment do not allow you to view it.

我收到消息,但看不到附件。附件应该是链接!

这是我使用的代码:

<div id="fb-root"></div>
   <script>(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
    </script>
<div class="fb-send" data-href="http://apps.facebook.com/app_profile?id=<?php echo $id;?>" data-font="arial" ></div>

有什么想法吗?

编辑:

我已阅读有关此Send 按钮的更多信息,我设置了所有Open Graph 并在我的应用程序中添加了Privacy Policy URLLikeShare 按钮可以正常工作

我还添加了ref 标签,基本上什么都试过了。

这是 facebook 的错误吗?

编辑2:

我的 fbml 代码也是如此:

<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
s = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<fb:send ref="some_ref>" href="http://apps.facebook.com/profile?id=<?php echo $user_profile['id'];?>&amp;ref=some_ref" font="arial">Send private message</fb:send>

【问题讨论】:

  • 您何时以及如何阅读附件?

标签: php facebook send


【解决方案1】:

您的代码中有 1 个错误 ref="some_ref>" 应该是 ref="some_ref"

另外,请检查href参数是否可以从fb服务器访问..

【讨论】:

    【解决方案2】:

    我只是从Send Button - Facebook Developers 获得此代码,但稍作编辑以适合您的情况

    这部分应该在“body”标签中

    <div id="fb-root"></div>
    <script>
        (function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
    </script>
    

    “ref”值可以包含字母数字字符和一些标点符号(当前为 +/=-.:_)

    <fb:send ref="some_ref" 
            href="http://apps.facebook.com/profile?id=<?=$user_profile['id'];?>" 
            font="arial">Send private message</fb:send>
    

    在使用 FBML 之前,请确保将此 xml 命名空间添加到“html”标签

    <html xmlns:fb="https://www.facebook.com/2008/fbml">
    

    如果你使用 XHTML 作为 DOCTYPE 你可以使用

    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
    

    【讨论】:

    • 您的代码或我的代码似乎只在 50% 的时间内有效。我开始相信 facebook 在这方面有一些错误。感谢您的宝贵时间,我将其标记为已完成,但如果其他人阅读了这篇文章,请告诉他们我的脚本也开始工作了
    • facebook 开发过程不清楚,因为他们弃用了一些 API 并且没有很好地更新他们的文档......我同意你的观点
    【解决方案3】:

    检查您没有双重FB.init。我遇到了同样的错误,我发现我把FB.init 放到了页面顶部和页脚。

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 2015-03-08
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      相关资源
      最近更新 更多