使用发送按钮时Facebook,附件不可用错误?

时间:2011-09-12 08:30:35

标签: php facebook send

我正在使用发送按钮在应用上分享链接和消息但是当我尝试阅读消息时出现此错误:

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的错误吗?

EDIT2:

我的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>

3 个答案:

答案 0 :(得分:1)

检查您是否有双FB.init。我得到了同样的错误,我发现我已将FB.init放在页面顶部和页脚上。

答案 1 :(得分:0)

您的代码中有1个错误ref =“some_ref&gt;”应该是ref =“some_ref”

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

答案 2 :(得分:0)

我只是从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">