使用PHP在网站上显示Facebook事件页面

使用PHP在网站上显示Facebook事件页面,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我想在他们的网站上显示客户Facebook页面上的事件。我花了几个小时搜索这个,我找到了几个解决方案,但它们似乎都指向Facebook的API的旧版本 我能够在Facebook的网站上找到一些信息,但不幸的是,我不是一个非常熟练的PHP程序员,也不熟悉Facebook的API,所以我似乎无法理解它。以下是Facebooks页面,介绍了它们与事件相关的API: 此外,这里还有一篇关于stackoverflow的文章,它解决了我的问题,但似乎是针对Facebook API的旧版本: oliakaoi

我想在他们的网站上显示客户Facebook页面上的事件。我花了几个小时搜索这个,我找到了几个解决方案,但它们似乎都指向Facebook的API的旧版本

我能够在Facebook的网站上找到一些信息,但不幸的是,我不是一个非常熟练的PHP程序员,也不熟悉Facebook的API,所以我似乎无法理解它。以下是Facebooks页面,介绍了它们与事件相关的API:

此外,这里还有一篇关于stackoverflow的文章,它解决了我的问题,但似乎是针对Facebook API的旧版本:

oliakaoil建议我举个例子,下面是我尝试过的一个方法,但没有成功

<?php 
require '/home/diamonds/public_html/facebook/';
$fb = new Facebook(array(
       'appid'=>'Your-AppID',
       'secret'=>'Your-AppSecret'
      ) );
$page_events = $fb->api('/ikeausa/events', 'GET');
printf ('<pre>%s</pre>', $page_events);
 ?>

我的问题来自于引用Facebook SDK,如果我通过了它,其他代码也可能无法工作。我上传了最新的Facebook SDK,但我不知道如何正确引用它。看起来旧的SDK可能是一个简单的单一页面“Facebook.php”,但在新的SDK上,它是一个包含大量php文件的文件夹。如果它是一个文件,我想我可以找出如何引用它,但我不知道如何引用整个文件夹的文件。而且,即使我知道如何引用它,我也不确定我是否知道如何正确使用属性

不幸的是,我在这方面几乎是一个初学者,所以我真正可以使用的是一个如何做到这一点的例子。这似乎是很多人都想做的事情,因此似乎在某个地方会有一个例子。不过,无论何时,我都会去寻找示例,它们似乎都是旧SDK的代码。这是我在寻找大量代码时遇到的一个反复出现的问题。谷歌似乎更喜欢陈旧过时的搜索结果,因此很难找到相关的最新答案

如果我明白的话

试试这个:

你需要做4件事: facebook API PHP, AppID、AppSecret和Authtoken

你可以访问developers.facebook

然后尝试以下代码:

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=683879905040205&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
.fb_iframe_widget {display: block !important;} 
.fb-like-box iframe {width: 100% !important;} 
.fb-like-box span {width: auto !important; position: initial !important;}
.fb_iframe_widget_fluid span {width:100% !important;}
.fb_iframe_widget span {position: static !important;}

/图片?类型=小“align=”left“/>
名称:
时间:-
地点:
说明:


关于,

两个月后,我重新审视了这个问题,并尝试在谷歌上进行不同的搜索。我立即找到了一个可以接受的解决方案。我应该指定我找到的答案显示了你的帖子提要,而不是我最初要求的事件,但出于我的目的,它是有效的

解决方案是使用Facebook的Like Box功能。您可以在此处找到使用该功能的说明:为了显示当前帖子流,您需要确保使用选项
data stream=“true”

为了方便起见,我将复制一些示例代码: 在页面的
标记后面放置以下内容:

<div class="fb-like-box" data-href="https://www.facebook.com/FacebookDevelopers" data-height="500" data-colorscheme="light" data-show-faces="false" data-header="false" data-stream="true" data-show-border="false"></div>

这是为WordPress?提供的,它是免费的,包含了从最新的Facebook SDK返回值所需的所有函数


“alt=”“/>


很遗憾,您的问题太广泛,不适合本论坛。试着写一些代码,或者至少写一些psuedo代码,开始从你的工作中获得一些反馈,然后在这里发布你的结果并问一个更具体的问题。万一你们想要一个完整的、分步的教程,这个页面正是你想要的。谢谢你的评论。那正是我一直在寻找的东西。既然我已经有事情要做了,我想我现在会坚持下去,但我会尽量在以后记住这一点。看起来我可以更好地控制使用该链接中描述的方法所发生的事情。感谢您花时间回复。我尝试了上面的代码,但它给了我这个错误:“无法打开必需的文件”。/facebook.php'。我在哪里可以得到facebook.php。我不确定facebook.php是否包含在最新的SDK中。如果我找到了旧SDK,我不会介意使用它,但听起来该代码将在2015年4月停止支持。谢谢你告诉我在哪里可以找到它。不过,我相信这是较旧的SDK。我认为对它的支持将在一年内用完。另外,我不确定我是否被允许使用旧的SDK,因为我今天刚刚获得了Facebook开发者应用程序id。。。不过,我确实决定尝试使用它,而且我比以前走得更远。它没有出错,但是没有给我事件页面,而是加载了你给我链接的页面。
.fb_iframe_widget {display: block !important;} 
.fb-like-box iframe {width: 100% !important;} 
.fb-like-box span {width: auto !important; position: initial !important;}
.fb_iframe_widget_fluid span {width:100% !important;}
.fb_iframe_widget span {position: static !important;}
            <?php 
                    $args = array (
                        'post_type' => 'facebook_events',
                        'posts_per_page' => -1,
                        'order' => 'ASC',
                    );

                    $fbe_query = new WP_Query( $args );
                    if( $fbe_query->have_posts() ): 
                    while ( $fbe_query->have_posts() ) : $fbe_query->the_post();

                      $event_title = get_the_title();
                      $event_desc =  get_the_content();
                      $event_image = get_fbe_image('cover');

                ?>
                  <img src="<?php echo get_fbe_image('cover'); ?>" alt="" />
                  <h1><?php echo $event_title; ?></h1>
                  <p><?php echo $event_desc; ?></p>    
                <?php

                     endwhile;
                     endif;

                wp_reset_query();  

                ?>