0
私は最終的に私のウェブサイトのダイナミックなニュース投稿をページの壁にPHP(ページではなく)としてリンクすることに成功しました。 まだ解決策が正しいのか、それとも長期的にはうまくいくのかなと思います。 は、ここで私がやったことだと述べた:ダイナミックポストをページの壁に段階的に掲示しました
- は、作成したページ
- にドメインが、自分のサイトのドメインを指し、およびウェブサイトは、私のウェブサイトを指しているとアプリを作成した会社のページ
- を管理するためにプロファイルを作成しましたURL
- HTTP経由で私たpageIDを見つけたoffline_accessトークン
- を発行することができるようにするために無効にoffline_access非推奨:// graph.facebook.com/PAGE_NAME
- はに行ってきましたhttps://でdevelopers.facebook.com/tools/explorer/APP_ID
- 代わりにユーザーIDの中でたpageIDを貼り付け
- を提出クリックはその後、私は
- は手動https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=manage_pages,publish_stream,offline_access&response_type=token からトークンを取得(これだけでは動作しませんでした...私はページログイントークンの異なるタイプを必要とすることが判明、私は https://developers.facebook.com/docs/authentication/を訪れ、「ページログイン」の下)
- この場合のredirect_uriは何でもかまいません。urlトークンパラメータを送り返しただけです。
- URLから返されたトークンをコピーします(すべてがうまくいった場合は、url paramが応答で0に設定されます)
- 私は基本的に、このPHPスクリプトをした後、:
require_once('facebook-sdk/facebook.php');
//Required facebook auth vars
$appID = 'APP_ID';
$appSecret = 'APP_SECRET';
$pageID = 'PAGE_ID';
$appOfflineToken = 'TOKEN_RETURNED_IN_PREVIOUS_STEP';
$pageTokenURL = 'https://graph.facebook.com/me/accounts?access_token=';
$access_token = '';
//connect to facebook app
$facebook = new Facebook(array(
'appId' => $appID,
'secret' => $appSecret,
'cookie' => true
));
//get page managed pages information
$jsonData = file_get_contents($pageTokenURL.$appOfflineToken);
$content = json_decode($jsonData, true);
//filter access_token for desired page using pageID
foreach($content['data'] as $item) {
if($item['id'] == $pageID){
$access_token = $item['access_token'];
break;
}
}
//format post
$post = array(
'access_token' => $access_token,
'picture' => "http://URL_TO_PICTURE,
'link' => "http://URL_TO_NEWS_POST",
'name' => "NEWS_TITLE",
'description' => 'NEWS_DESCRIPTION'
);
//post content to page wall
$res = $facebook->api('/'.$pageID.'/feed', 'POST', $post);
ので、私の質問は、これはこじつけと思われるにもかかわらず...です...それは正しいでしょうか?少なくともそれは動作します!
PS:リンクについては申し訳ありませんが、これだけのポストに2を提出する可能性が...ない十分なストリートクレドそれはそうです:P
あなたは正しいようです。とにかく、なぜこれを手動でやっていますか? – gremo
だから、あなたは一度だけアプリケーションoffline_accessアクセストークンを発行する必要があることが判明しているので...私は何らかの理由でフェールセーフを含むようにスクリプトを更新しました。 offline_accessトークンは長生きしていて、どれくらいの長さであるかは分かりません)。 私が主に投稿したのは、私がGoogleで見つけたものの大部分が、ウェブサイトのニュースアップデートをページの壁と同期させるというアイデアをカバーしていなかったからです...また、このプロセスが間違っていた"ハック"または他の方法がある場合:P –
'offline_access'は数週間後に廃止されます。ただし、既存の(期限切れのない)アクセストークンは引き続き動作します。とにかくhttps://developers.facebook.com/docs/offline-access-deprecation/をチェックしてください – gremo