Php Facebook:我可以将事件添加到页面中作为页面吗

Php Facebook:我可以将事件添加到页面中作为页面吗,php,facebook,events,Php,Facebook,Events,我只是一个页面的管理员,并编写一个脚本来向该页面添加事件。我可以使用我自己的帐户,允许应用程序管理我的页面并向该页面添加事件。但是我希望我的脚本添加事件,比如我将登录到页面并将事件发布为页面。如何在PHP中做到这一点-我目前对所有会话、令牌和密钥都有点困惑:-| 问候 丹尼斯如果你把自己添加为该页面的负责人,那么你输入的任何内容都将反映为该页面的名称(如果我没有弄错的话) 要发布为页面,您需要获取用户页面管理令牌 页面身份验证的缩写版本:(添加了脱机访问) 从 使用manage premissi

我只是一个页面的管理员,并编写一个脚本来向该页面添加事件。我可以使用我自己的帐户,允许应用程序管理我的页面并向该页面添加事件。但是我希望我的脚本添加事件,比如我将登录到页面并将事件发布为页面。如何在PHP中做到这一点-我目前对所有会话、令牌和密钥都有点困惑:-|

问候
丹尼斯

如果你把自己添加为该页面的负责人,那么你输入的任何内容都将反映为该页面的名称(如果我没有弄错的话)

要发布为页面,您需要获取用户页面管理令牌

页面身份验证的缩写版本:(添加了脱机访问) 从

使用manage premissions和offline_access获取令牌:(使用您的_应用程序_ID和您的_URL更新)

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=manage_pages,offline_access&response_type=token
验证页面后,您将被重定向到您的URL。。。 在浏览器中,您将看到重定向url、哈希、访问令牌、过期。。。 复制“令牌=”和“&expires=0”之间的所有内容(如果它没有expires=0,则您没有执行脱机访问预授权)


要通过脚本完成,您必须使用通过用户应用程序令牌从用户帐户获得的页面令牌:)以及我的体验。尽管如此,现在他们可以选择将facebook作为“页面”浏览。尽管如此,我认为lilsizzo是正确的。只需为另一个问题发布一些信息(最终不是他的答案,但它应该会帮助你)本质上,你授权应用程序以脱机前提管理页面(应用程序令牌不会过期),然后你查询用户帐户中的页面令牌(本质上,应用令牌允许您为用户获取页面管理员权限的令牌)然后,您使用该令牌发布到页面作为页面…添加了我指给您的另一个答案的缩写版本..基本上,如果您更改密码或令牌过期,您将需要更新它..但下面的答案应该让您朝着正确的方向走..谢谢,这是正确的。根据您的回答,我的方式是/是向get使用我的inifite_session_密钥创建accessToken,并使用此token通过请求graph api获取我的所有帐户。在返回的帐户中,我搜索了目标页面,并使用此页面的accessToken将事件作为页面发布到页面上。你明白了!哈哈,为什么facebook必须使该过程如此崩溃…我明白了cond token有助于识别代表sepcific页面的应用程序-但仍然…在许多层面上,他们本可以使过程更简单。。
<?php
require_once('facebook.php');

$app_id = "YOURAPPID";
$app_secret = "YOURSECRET";

$userAppToken = 'TOKENHERE!'; // from authentication
$pageID = '123456';


$facebook = new Facebook(array(
    'appId' => $app_id,
    'secret' => $app_secret,
    'cookie' => true
));


$token =  array(
    'access_token' => $userAppToken
);

// Get the user page admin tokens (account access info)
$userdata = $facebook->api('/me/accounts', 'GET', $token);

// Loop through the data and get the token for the page id..
foreach($userdata['data'] as $data) {
   if ($data['id'] == $pageID) {
      $pageAdminToken = $data['access_token'];
      continue;
   }
}

// THis is actually for a wall post, but just modify to whatever you want (you must have access_token as it is what authorizes the action for the page..    
// compile the post
$WallPost = array(
    'message' => 'Test post from my app!',
    'access_token' => $pageAdminToken
);  // you can also use 'picture', 'link', 'name', 'caption', 'description', 'source'....
    //http://developers.facebook.com/docs/reference/api/


// post to wall (feed is wall post, just update to whatever you want to publish to)
$response = $fb->api($pageID . '/feed','GET',$WallPost);


?>