0

この URL を Open Graph に渡そうとすると、

$url = 'http://abc.com/index.php';
$facebook->api('/me/url_app:action','POST', array('something'=>$url));

すべてがうまくいっています。しかし、いくつかのパラメーターを追加しようとすると、

$url = 'http://abc.com/index.php?a=b&c=d';
$facebook->api('/me/url_app:action','POST', array('something'=>$url));

次に、このエラーが発生します

Fatal error: Uncaught Exception: Object at URL 'http://abc.com/index.php?a=b&c=d' of type 'url_app:action' is invalid because the given value '' for property 'og:url' could not be parsed as type 'url'. thrown in _PATH_/base_facebook.php on line 1050

一部のパラメーターを URL アドレスに追加できないのはなぜですか?

編集また、リンクをエンコードするためのPHP関数は次のとおりです。

function encodeURIComponent($str) {
    $revert = array('%21'=>'!', '%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')', '%3D'=>'=', '%3F'=>'?');
    return strtr(rawurlencode($str), $revert);
}
4

1 に答える 1

0

URL を urlencode する必要があります。

$url = encodeURIComponent('http://abc.com/index.php?a=b&c=d');
$facebook->api('/me/url_app:action','POST', array('something'=>$url));

これで問題が解決するかもしれません...

于 2012-09-16T11:38:41.393 に答える