1

私はブログを始めており、ブログ用の「FacebookStatusApp」を作りたいと思っていました。最新のステータスを取得し、翻訳者ページにリクエストするだけです。最新のフィードを取得できますが、問題はアクセストークンです。access_token を 9 分ごとに更新し続ける方法を見つけました。次のようなサイトです。

https://mywebcron.com/

このサイトは X 分ごとにあなたの URL を呼び出します。私は9分を選びました。

私の更新コードは非常に単純です。

<?php
$file = file_get_contents("fbat.txt");
$token = $file;

$token_url = "https://graph.facebook.com/oauth/access_token?client_id=100000280644272&client_secret=secret&grant_type=fb_exchange_token&fb_exchange_token=".$token;

$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_URL, $token_url);
$contents = curl_exec($c);
$err  = curl_getinfo($c,CURLINFO_HTTP_CODE);
curl_close($c);

$paramsfb = null;
//parse_str($contents, $paramsfb);
echo $contents;
?>

「Fbat.txt」には、現在の AccessToken が含まれています。

しかし、私のアカウントには client_secret が必要です。そして、Facebook アカウントの AccessToken を取得できません :/

したがって、私の解決策は、「GRAPH EXPLORER」でMY ClientIDとHIS ClientSecretを使用して新しいアプリを作成し、access_tokenを生成することでした。

私の質問は次のとおりです。私の最新のステータスと私のaccess_tokenを取得するにはどうすればよいですか。?

良い代替手段 (例: アプリの使用) があれば、私もそれを行うことができます。

さて、私の質問を理解していただければ幸いです:P

4

1 に答える 1

1

まず、フィードを公開する必要があります。以下のコードは残りを行う必要があります。

function fb_setup(){

    $app_id = 'APP_ID';
    $app_secret = 'APP_SECRET';

    $response = file_get_contents('https://graph.facebook.com/oauth/access_token?type=client_cred&client_id='.$app_id.'&client_secret='.$app_secret);

    $token = str_replace('access_token=', '', $response);

    $node = "PAGE_ID(if not a page just use 'me')";
    $fields = array();
    $fields[] = 'feed';
    $fields[] = 'likes';

    $response = file_get_contents('https://graph.facebook.com/'.$node.'?fields='.implode(',', $fields).'&access_token='.$token.'');

    $arr = json_decode($response);

    $data['node'] = $node;
    $data['arr'] = $arr;

    return $data;

}
function last_post(){

    $ret = fb_setup();
    $arr = $ret['arr'];
    $node = $ret['node'];

    $feed = $arr->feed->data;

    $ret = "";
    $ret .= "<div id='last-fb-post'>";
    $item = $feed[0];

    $message = str_replace("\n","</p><p>",$item->message);
    $likes = (!$item->likes->count) ? '0' : $item->likes->count;
    $coms = $item->comments->count;
    $ex_id = explode('_',$item->id);
    $id = $ex_id[1];

    $href = 'http://www.facebook.com/permalink.php?story_fbid='.$id.'&id='.$node;

    $ret .= '<a class="title" target="_blank" href="'.$href.'">Last Update: <u>' . date("F j, Y",strtotime($item->created_time)) . '</u></a>';
    if($item->type == 'photo'){
        $ret .= '<div class="fb_img"><a target="_blank" href="'.$href.'"><img src="'.$item->picture.'"/></a></div>';
    }
    $ret .= "<p class=\"msg\">";
    $ret .= $message;
    $ret .= "</p>";
    $ret .= "<p class='likes'><a htarget=\"_blank\" href=\"$href\">$likes</p>";



    $ret .= "</div>";

    return $ret;

}
于 2013-02-15T14:02:19.970 に答える