0

この自己回答は、共有 URL 形式で設定した URL を投稿することを拒否し続けた、非推奨のFacebook 共有 URL ベースの API に苦しんだ結果です。結果の応答は、設定したプライバシー設定に関係なく、次のとおりでした。

{
    "__ar":1,
    "error":1367001,
    "errorSummary":"Could not post to Wall",
    "errorDescription":"The message could not be posted to this Wall.",
    "payload":null,
    "bootloadable":{},
    "ixData":[]
}

私のコードの混乱。(はい、Web 開発に知られているすべての規則を破っています。はい、このコードを継承しています。)

<?php
    $url = urlencode(Domain::getDomain()."/".$details['urlname']);
    $title=urlencode($details['name']);
    $summary=$details['name'];
    $image=urlencode(constant('BASE_IMAGES').'/'.$details['gallery']['listing'][0]['thumb']['src']); 
?>

<a onClick="window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=<?php echo $title;?>&amp;p[summary]=<?php echo $summary;?>&amp;p[url]=<?php echo $url; ?>&amp;p[images][0]=<?php echo $image;?>','sharer','toolbar=0,status=0,width=548,height=325'); return false" href="javascript: void(0)"><img src="/site/images/icon-facebook.png" alt="Facebook" border="0"></a>

公式の質問は次のとおりです: Facebook でリンクを共有する共有方法でこのエラーが発生するのはなぜですか?

4

2 に答える 2

1

私の場合、これは、プロトコルを含む完全修飾 URL を含めていなかったためです。PHP で生成された URL は連結されていて、プロトコルが含まれていませんでした。それを追加した後、投稿は通過しました。

上記の2行目を次のように変更する必要がありました

    $url = urlencode('http://'.Domain::getDomain()."/".$details['urlname']);

Facebook がこれをスローする理由は他にもある可能性がありますが1367001 Error、これは少なくとも 1 つの確認事項です。

于 2013-07-31T20:37:44.307 に答える