0

グーグルで一日を過ごし、現在そこにあるものをたくさんテストした後、フェイスブックのAPI内のoffline_accessリクエストの減価償却を考慮して、これについての決定的な答えを見つけることができません。

私が達成しようとしているのは、メインサイトが生成しているRSSフィードの出力を使用して、アプリケーション自体としてアプリケーションのファンページウォールを更新することです(この段階では、RSS部分の読み取り/解析についてあまり心配していません。ひびが入っている)。現時点ではファンページのウォールに投稿できますが、投稿は私の個人プロフィール(ファンページの管理者)からのように表示されます。

私が作成したアプリケーションは、私の使用のみを目的としており、ファンページの壁に書き込むことを目的としています。サードパーティのツール(RSS Graffiti / Twitter Feed)を使用してみましたが、要件を満たしていないため、自分で何かを作成しようとしています。

私がこれまでに持っているPHPは、fb開発者センターの例から削除されたものであり、私が言ったように、壁にうまく投稿できますが、自分自身としてのみです。

スクリプトを実行してRSSフィードを実行し、何か新しいことがあればfbファンページを更新するようにCRONジョブを設定する予定です。これに照らして、これが実行されるマシン(justhostサーバー)からfbにログインしません。

また、PHP構成で無効になっていると思うのでhttp getを呼び出すことができないようです(共有ホスティングではImとして変更できません)。だから私は、私が管理しているページとアプリケーションの配列を見つけようとしているときに、「未定義の関数http_get()の呼び出し」を取得すると、ページとして認証するのと同じくらいfbdevcenterヘルプガイドのポイントで立ち往生しています私の「ページアクセストークン」。curlを使用してこれを返そうとしましたが、次のコードを使用して応答をダンプすると「タイプ(curl)のresource(4)」が表示されるため、正しく実装できませんでした。

//get user access token
$access_token = $facebook->getAccessToken();

//get page access token
$response  = curl_init("https://graph.facebook.com/me/accounts?access_token=".$access_token);
var_dump($response);

私がこれを持っていて、このインスタンスでこれを機能させることができたとしても、このトークンが期限切れになったときに何が起こるのか、そしてこのスクリプトを2時間または60日ごとに編集しなくても、どのように更新できるのかについて、Imはかなり混乱しています。トークンの有効期限が切れます。

このページアクセストークンを取得し、CRONジョブを介してリモートサーバー上のスクリプトから実行するときにトークンを存続させるために、だれでも助けていただければ幸いです。

これが私がこれまでに持っているコードです:

<?php

require '../src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId'  => 'XXXHIDDENTHISXXX',
'secret' => 'XXXHIDDENTHISXXX',
'cookie' => true
));

// Get User ID
$user = $facebook->getUser();



if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}

// Login or logout url will be needed depending on current user state.
$params = array(
'scope' => 'publish_stream',
'redirect_uri' => 'http://autos.sevende.com.gt/rss_to_facebook/pages/'
);

if ($user) {
$logoutUrl = $facebook->getLogoutUrl($params);
} else {

$loginUrl = $facebook->getLoginUrl($params);

}

//get user access token
$access_token = $facebook->getAccessToken();

//get page access token
$response  = curl_init("https://graph.facebook.com/me/accounts?access_token=".$access_token);
var_dump($response);

https://graph.facebook.com/me/accounts?access_token=USER_ACCESS_TOKEN

//set fanpage_id
$page_id = '234830586618763';

$attachment = array(

'link' => 'http://autos.sevende.com.gt/listing/565/');

$result = $facebook->api('/'.$page_id.'/feed?access_token='.$access_token, 'post', $attachment);


?>
4

1 に答える 1

1

いいえ、アプリとして投稿することはできません。

ユーザーまたはページとして投稿できますが、アプリケーションとして投稿することはできません。これらの両方を行う方法は十分に文書化されており、上記のコードは「ページとして投稿」の指示に近いですが

于 2012-06-13T14:38:30.307 に答える