1

認証されたユーザーがいる外部アプリからFacebookの投稿にいいねを投稿する例を教えてください。

Facebookから投稿をプルするフィードがあり、ユーザーが自分のアプリからの投稿を好きになるようにするボタンを作成したいとします。このボタンをクリックしたときに、Facebookでユーザーのいいねで投稿が更新されるように、どうすればいいねを作成できますか?

私の考えでは、-$ facebook-> api( "/ $ id / likes"、'POST');のようなphpスクリプトに隣接するjavascriptonclick関数を作成できます。、しかし、この電話をかける前に、そのページからFacebookを再初期化する必要がありますか?または私のアクセストークンなどを送信しますか?これは、このサーバー側の方法について私を混乱させるものです。クリック時にどのようにこの電話をかけますか?例は本当に役に立ちます!前もって感謝します!!

4

1 に答える 1

0

さて、ついにまともな解決策を見つけました、そしてカールなしで。これは、ajax関数onclickで呼び出すスクリプトです。

<?php
$access_token = $_GET['token'];

$post_id = $_GET['id'];

function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
          'method' => 'POST',
          'content' => $data
        ));
if ($optional_headers !== null) {
  $params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
  echo "error";
}
$response = @stream_get_contents($fp);
if ($response === false) {
  throw new Exception("Problem reading data");
}
  return $response;
}

$data = "access_token=".$access_token;

$url = 'https://graph.facebook.com/'.$post_id.'/likes';

$result = do_post_request($url, $data, $optional_headers = null);
?>

また、テストした作業コードでは、$ post_idには、最初に投稿されたユーザーIDが次のようになっています:SOURCEUSERID_POSTID

この投稿の組み合わせからこのソリューションを入手しました-http ://wezfurlong.org/blog/2006/nov/http-post-from-php-without-curl/

そしてこれは-FacebookグラフAPI上の投稿のように

これが他の誰かを助けることを願っています!

于 2012-07-11T12:11:19.903 に答える