3

私はサイトで作業しており、何かが公開されている場合、そのサイトから特別なユーザーの壁またはページにページ リンクを投稿する必要があります。つまり、その質問を投稿するのに必要なユーザーは 1 人だけです。

私が直面している問題は、Web サイトのトラフィックの前に Facebook のログイン ページを表示しようとしていないため、アクセス トークンです。ユーザーウォールで共有するのとは異なり、基本的にページにステータスを自動的に投稿しようとしているため、この問題の助けをいただければ幸いです。

ページのアクセストークンが有効である限り正常に動作するように見える次のコードを使用していますが、ハードコードされたphpコードにすべての情報を追加できるように何かを永続的にする必要があり、数週間動作します-少なくとも API キーまたはトークンを変更することなく

$appid = 'code';
$appsecret = 'code';
$wall= $pageId = 'code';

$token='page token';

$facebook = new Facebook(array('appId'  => $appid, 'secret' => $appsecret, 'cookie' => true));

$params=array( 'message' => $msg,'name' => $title, 'caption' => $title, 'link' =>$uri,'description' => $desc, 'picture' => $pic, 'access_token' => $token,'actions' => json_encode(array('name' => $action_name,'link' => $action_link)) );

$result = $facebook->api($wall.'/feed/','post',$params);

グラフ API デバッグ ページからトークンを作成すると正常に動作しますが、しばらくすると「OAuthException: 現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります」というメッセージが表示されます。

私はそれのために何かしっかりしたものを見つけるのに本当に必死です.

ありがとうございました

4

2 に答える 2

2

特別なユーザーとして実行され、目的の FB API 呼び出しを行うバックエンド スクリプト (おそらく FB PHP-SDK を使用した cron ジョブ) を作成できます。このためには、60 日ごとに更新する必要がある、有効期間の長いアクセス トークンを使用する必要があります。また、 App Access Tokenを使用して FB api 呼び出しを試すこともできます。これは期限切れではありませんが、FB の公開やその他の操作をすべてサポートしているわけではありません。

于 2012-10-28T23:39:12.077 に答える
0

誰かのウォールに投稿する (または開いているグラフで何らかのアクションを実行する) には、Facebook で、グラフ内の誰かとして、または許可を与えられたアプリケーションとして認証される必要があります。

oauth スコープ属性を使用して設定できる権限を確認する必要があります...

https://developers.facebook.com/docs/reference/dialogs/oauth/

私には、あなたが認証されているユーザーだけでなく、友達の壁にも書き込みたい場合、アプリケーションに publish_stream を許可する必要があるようです。

https://developers.facebook.com/docs/reference/login/extended-permissions/

于 2012-10-28T23:38:29.770 に答える