我试图检索已创建的页面已被邀请的所有Facebook事件。我创建了一个应用程序,以下是我从http://www.codeofaninja.com/2011/07/display-facebook-events-to-your-website.html得到的代码:
//requiring FB PHP SDK require 'fb-sdk/src/facebook.php'; //initializing keys $facebook = new Facebook(array( 'appId' => '[app_id>], 'secret' => '[app_secret]', 'cookie' => true, // enable optional cookie support )); $fql = "SELECT name, pic, start_time, end_time, location, description FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = 100001660923071 ) ORDER BY start_time asc"; $param = array( 'method' => 'fql.query', 'query' => $fql, 'callback' => '' ); $fqlResult = $facebook->api($param); print_r($fqlResult);
现在的问题是,当查询中的uid设置为' 221167777906963'(它是示例代码中的UID并且它可以与任何app-id / secret组合使用wine)时它可以正常工作当我将它设置为页面的uid时,我是所有事件的所有者返回。有什么我想念的吗?我仔细检查了我的网页>帐户设置>应用程序,看看我创建的应用是否具有该页面的权限。它是一个公共页面。我在流程中缺少什么来授予此应用程序访问我的页面事件的权限?如果我在Graph API Explorer中使用我为user_events生成的访问令牌运行它,则相同的查询工作正常。
我基本上试图理解为什么一个名为FB Sync Events的特定Wordpress插件没有工作,并且应用程序身份验证似乎失败了因为$ facebook-> api没有返回任何内容我的页面只有fql.query。 QQ
答案 0 :(得分:0)
要访问页面的事件,您可能需要使用PAGE访问令牌。页面访问令牌很容易获得。对于页面管理员的用户访问令牌,请调用图表/me/accounts
,然后在页面中显示该页面的访问令牌。这就是所谓的“页面访问令牌”。然后使用该页面访问令牌,调用您的FQL语句。
答案 1 :(得分:0)
据我所知,如果您创建的是Facebook页面而不是个人资料,则无法显示您被邀请参加的活动。从您创建页面时起,您只有喜欢您页面的用户。这意味着他们可以与您发布的内容进行互动,但他们无法与您作为品牌或公司进行互动。
另一方面,当您创建个人资料时,您的用户是您的朋友,他们可以通过多种方式与您和您发布的内容进行互动,包括能够被邀请参加活动。