Facebookページにメッセージを投稿する必要があります。具体的には、cron
経由で投稿したいと思います。
APIドキュメントの内容は次のとおりです。
ページアクセストークン–これらのアクセストークンは、Facebookページに属するデータの読み取り、書き込み、または変更を行うAPIにアクセス許可を提供することを除いて、ユーザーアクセストークンに似ています。ページアクセストークンを取得するには、まずユーザーアクセストークンを取得し、manage_pages権限を要求する必要があります。ユーザーアクセストークンを取得したら、GraphAPIを介してページアクセストークンを取得します。
ページコールバックなしでユーザーアクセスとページアクセストークンを取得するにはどうすればよいですか?これは可能ですか?
拡張ページトークンが必要な場合、それは永久に有効です。あなたはこのようなものを手に入れます:
manage_pages
権限(および後でページとして投稿する場合はpublish_pages
)を使用して、ユーザートークンを取得することを承認します/me/accounts?fields=access_token
を使用して、拡張ページトークンですべてのページのリストを取得します。または、/page-id?fields=access_token
を使用して、特定のページの拡張ページトークンを取得します。すべてのトークンとユーザートークンを拡張する方法に関する情報:
PHP API V5
以下のコードは、24時間の頭をかいた後、私のために機能しました....ところで、このコードが機能する必要がある場合は、最初の2つの手順を完了する必要があります。
getRedirectLoginHelper
を使用したFacebookにログインする必要があります$_SESSION['fb_access_token'] = (string) $accessToken;
$fbApp = new Facebook\FacebookApp( 'xxx', 'xxx', 'v2.7' );
$fb = new Facebook\Facebook( array(
'app_id' => 'xxx',
'app_secret' => 'xxx',
'default_graph_version' => 'v2.7'
) );
$requestxx = new FacebookRequest(
$fbApp,
$_SESSION['fb_access_token'],//my user access token
'GET',
'/{page-id}?fields=access_token',
array( 'ADMINISTER' )
);
$responset = $fb->getClient()->sendRequest( $requestxx );
$json = json_decode( $responset->getBody() );
$page_access = $json->access_token;
//posting to page
$requesty = new FacebookRequest(
$fbApp,
$page_access ,
'POST',
'/{page-id}/feed?message=Hello fans YYYYYYYYYYYYYYY'
);
$response = $fb->getClient()->sendRequest( $requesty );
var_dump( $response );
次の方法でページトークンを取得できます。
$response = $fb->get('/'.$pageId.'?fields=access_token', (string)$accessToken);
$json = json_decode($response->getBody());
$page_token = $json->access_token;
$response = $fb->post('/'.$pageId.'/feed', $fbData, $page_token);
私はJavaScriptコードしか持っていませんが、アクセストークンを取得すると、特定のユーザーが管理できるページを取得できる場合があります。これには、それぞれのページアクセストークンが含まれます。
jQuery.ajax({type: "GET",
url: "https://graph.facebook.com/v2.2/me/accounts?access_token=" + userToken,
async: false,
data: jsonRequest,
dataType: "json",
cache: false,
success: function(data)
{
返されるデータは次のようなものです。
{
"data": [
{
"access_token": "CAACni8TcBB0B...cZBJfwZDZD",
"category": "Computers/Technology",
"name": "abc",
"id": "...",
"perms": [
"ADMINISTER",
"EDIT_PROFILE",
"CREATE_CONTENT",
"MODERATE_CONTENT",
"CREATE_ADS",
"BASIC_ADMIN"
]
},
{
"access_token": "CAA...ZDZD",
"category": "App Page",
"name": "xyz",
"id": "....",
"perms": [
"ADMINISTER",
"EDIT_PROFILE",
"CREATE_CONTENT",
"MODERATE_CONTENT",
"CREATE_ADS",
"BASIC_ADMIN"
]
}
],
access_token
はページトークンです。上記のリクエストをPHPに簡単に変換できます。