48

私は多くの検索を行いましたが、機能しない古いチュートリアルを見つけました...

PHPで作成されたサイトがあり、管理エリアで特定のフォームを送信するときに、Facebookの「ファンページ」に公開したいと思います。

利用可能なRSSがないので、php sdkを使用して(ユーザーウォールではなく)Facebookファンページに直接投稿する例はありますか?

ありがとうございました!

4

4 に答える 4

92

最後に、多くのテストの後、PHP SDK なしで動作しました。これはステップバイステップガイドです:

1. アクセス許可とページ トークンを取得する

https://developers.facebook.com/tools/explorer/に移動し、左側の最初のドロップダウン メニューからアプリを選択します。

「アクセス トークンの取得」ボタンをクリックし、「アクセス トークンの選択」ウィンドウで、「拡張アクセス許可」をクリックし、manage_pages と publish_stream をチェックして、「アクセス トークンの取得」青いボタンをクリックします。

このステップで、Facebook アカウントへのアクセス許可をアプリに付与するよう求められる場合があります。

次に、[GET] ドロップダウンの横にあるテキスト フィールドの最後をクリックし、me/accounts の数字を置き換えて、このテキスト フィールドの横にある青いボタンをクリックします。

アプリ ページを含むすべてのページのトークンを取得します。リストでページ名を見つけます。次のようになります: "name": "Your page name"

ページを見つけたら、そのページのアクセス トークンをコピーします (非常に長くなります)。これは"access_token": "XXXXXXXX"のようになります。ページの ID もコピーします: " id": "XXXXX" .

このステップはこれですべてです。今すぐコーディングを開始できます。

2. PHP 経由でページ ウォールに投稿する

まず、このスクリプトには、curl をサポートするサーバーが必要です。

最初のステップで取得したページ アクセス トークンとページ ID を定義する PHP ドキュメントを開始します。

<?php
$page_access_token = 'XXXXXXX';
$page_id = 'YYYYYYYY';

その後、ページ ウォールに投稿する情報を含む配列を作成します。

$data['picture'] = "http://www.example.com/image.jpg";
$data['link'] = "http://www.example.com/";
$data['message'] = "Your message";
$data['caption'] = "Caption";
$data['description'] = "Description";

もちろん、 https://developers.facebook.com/docs/reference/api/post/で説明されている他の投稿パラメーターを使用することもできます。上記のパラメーターの 1 つまたは多くが必要ない場合は、単純に削除できます。

わかりました。この時点で、配列にアクセス トークンを追加します。

$data['access_token'] = $page_access_token;

そして、投稿 URL を設定して、ページに投稿します。

$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';

最後のステップでは、curl を使用してメッセージをページ ウォールに投稿します。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);
?>

その後、PHP ドキュメントを保存して、実行を試みることができます。投稿は Facebook ページに表示される場合があります。

このコードが同じ問題を抱えている他の人に役立つことを願っています!

于 2011-10-20T08:34:55.370 に答える
5

Facebook Access Token Debuggerを使用してトークンをテストできます

API v.2.5 の作業ソリューション

  1. codeapp_idパラメータとして取得response_uri

https://www.facebook.com/dialog/oauth?client_id=".$app_id."&redirect_uri=".$response_uri."&response_type=code&scope=manage_pages,publish_pages

  1. access_tokenに基づいて取得しcode、結果としてapp_idapp_secretresponse_uri

https://graph.facebook.com/oauth/access_token?grant_type=authorization_code&client_id=".$app_id."&client_secret=".$app_secret."&code=".$code."&redirect_uri=".$response_uri

  1. page_access_tokenpage_id基づいて期限切れになることはありませんaccess_token

https://graph.facebook.com/v2.5/".$page_id."?fields=access_token&access_token=".$access_token

于 2016-03-01T09:56:31.473 に答える
0

お探しのリソースはこちらです。下にスクロールしてPage Loginそこから読んでください。ページのアクセス トークンを取得し、投稿時にそのトークンを使用する必要があります。これは、投稿を「ページから」表示することを前提としています。IE - あなたがページであるかのように投稿します。

投稿オブジェクトを作成するためのグラフ API への実際の呼び出しとその方法は、Facebook のドキュメントのこの URLで確認できます。

于 2011-10-19T09:17:00.970 に答える