-1

我有此代码用于访问和显示 Facebook 组中的 Facebook 事件。如果您使用当前的 access_token,这可行,但 access_token 仅在一个小时左右有效。每次页面加载时,我需要添加什么代码以编程方式获取当前的 access_token?

我查看了 facebook 的建议,它使我的页面进入了一个永久循环。

            <?php
            header ('Content-type: text/html; charset=utf-8');
            $limit = 5;

            $group_id = '68663437095';
            $url1 = 'https://graph.facebook.com/'.$group_id;
            $des = json_decode(file_get_contents($url1));


            $url2 = "https://graph.facebook.com/68663437095/events?access_token=CAACEdEose0cBAORQs8KFqo6Fw1ZA78alt8CgH3pyKgEVWdbsxWmBhjwVqOOSqst51fb1ZCHK0Dtz8CmTDCZByqoJMoaXcEU6qjN4IO1JWExSwuHzVRmNU5JEkzpdcSuhPd8StyYSObAhXU4DKngmnHtvF018wZAmsg8GEFXNatcZAZBBMbJmsUOvwSOa7DubIZD";
            $data = json_decode(file_get_contents($url2));
            ?>

            <style type="text/css">
                 .wrapper {
             width:200px;
             border:1px solid #ccc;
             font-family: "lucida grande",tahoma,verdana,arial,sans-serif;
             background-color: black;
             float:left;
             }

             .top {
             margin:5px;
             border-bottom:2px solid #e1e1e1;
             float: left;
             width:290px;
             }

             .single {
             margin:5px;
             border-bottom:1px dashed #e1e1e1;
             float:left;
             }

             .img {
             float:left;
             width:60px;
             text-align:center;
             margin:5px 5px 5px 0px;
             border-right:1px dashed #e1e1e1;
             }

             .text {
             width:220px;
             float:left;
             font-size:10px;
             }

             a {
             text-decoration: none;
             color: #3b5998;
             }
            </style>

            <div style="width: 250px; padding-bottom:15px;"><br/>
                <div style="width: 190x;  margin-left:15px;">
                    <a target="_parent" style="font-size:40px;" href="http://www.facebook.com/groups/fumcbixby/"> <?=$des->name?></a>
                    <div style="width:100%; margin: 5px">
                        <?=$des->description?>
                    </div>
                </div><br/>
                <?
                $counter = 0;

                foreach($data->data as $d) {
                    if($counter==$limit)
                    break;
                ?>
                <div style="width: auto; background-color:white; margin-left:15px; margin-bottom:15px; padding:5px">
                    <div style="float: left; width:120px;">
                        <img src="https://graph.facebook.com/<?= $d->id?>/picture">
                    </div>
                    <div>
                        <h2>Name <?= $d->name?></h2>
                        <h3>Location <?= $d->location?></h3>
                        <p>Start<?= date('F j, Y H:i',strtotime($d->start_time))?></p>
                        <p>End<?= date('F j, Y H:i',strtotime($d->end_time))?></p>
                        <a href= "https://www.facebook.com/events/<?= $d->id?>/?suggestsessionid=fc8548e2f42ad507b812ce9e80189592">Visit Event</a>
                    </div>
                </div>
                <?
                $counter++;
                }
                ?>
            </div>
4

1 回答 1

0

获取有效期为 60 天的扩展访问令牌

https://graph.facebook.com/oauth/access_token?             
client_id=APP_ID& 
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN  

将 APP_ID、APP_SECRET 和 EXISTING_ACCESS_TOKEN 放入上述 url 并发出 HTTP 请求。HTTP 请求将返回 JSON 数组。然后您可以轻松解析扩展访问令牌

看看这个问题......

如何使用 PHP 更新/扩展 facebook 访问令牌?

于 2013-09-16T11:08:36.620 回答