2011-09-06 50 views
1

我想写一个脚本,将发布到我的Facebook页面,我假设我所要做的就是修改我的代码发布到用户流。什么是facebook api我的equivilent?

$attachment = array 
(
    ... 
); 
$result = $facebook->api($user.'/feed/','post',$attachment); 

我该如何放置而不是用户的ID?我不确定它是否仅仅是我的网页的ID。有任何想法吗?

+0

是否希望帖子所有者成为*用户*或*页面*? – ifaour

+0

现在我想到了,我希望用户成为页面的所有者 – cbr0wn

+0

什么?!我问你是否想要以管理员身份或[作为页面]发布(http://www.masteringapi.com/tutorials/how-to-post-on-facebook-page-as-page-not-as-admin-用户使用的PHP-SDK/31 /)。你不能让用户在页面上进行管理(显然不是所有者) – ifaour

回答

0

假设我的Facebook页面手段我进你根本

$user = 'me'; 
0

1张贴在页面的壁上,用户
发布在页面上的墙为用户是直截了当的,你可以使用类似的东西:

<?php 
// path to sdk 
require './src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'APP_ID', 
    'secret' => 'APP_SECRET', 
)); 

$user = $facebook->getUser(); 
try { 
    $post_id = $facebook->api('/TARGET_PAGE_ID/feed', 'POST', array('message'=>"I am a user!")); 
    var_dump($post_id); 
} catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
} 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(array('scope'=>'publish_stream')); 
} 
// rest of code here 

注:

  • 后的所有者将是当前连接的用户。
  • 以上取决于页面的发帖能力设置。
  • 您需要的publish_stream许可

2张贴在页面的壁上,PAGE
我们发布的页面上,你可以使用类似:

<?php 
// This code is just a snippet of the example.php script 
// from the PHP-SDK <http://github.com/facebook/php-sdk/blob/master/examples/example.php> 
require '../src/facebook.php'; 

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
    'appId' => 'app_id', 
    'secret' => 'app_secret', 
)); 

// Get User ID 
$user = $facebook->getUser(); 

if ($user) { 
    try { 
    $page_id = 'TARGET_PAGE_ID'; 
    $page_info = $facebook->api("/$page_id?fields=access_token"); 
    if(!empty($page_info['access_token'])) { 
     $args = array(
      'access_token' => $page_info['access_token'], 
      'message'  => "I'm a Page!" 
     ); 
     $post_id = $facebook->api("/$page_id/feed","post",$args); 
    } 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

// Login or logout url will be needed depending on current user state. 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream')); 
} 
// rest of code 
?> 

注意事项:

  • 您需要manage_pagespublish_stream权限
  • 一旦你获得你就可以开始发布其代表
  • 更多关于此页面的access_token进行了详细我tutorial解释。
相关问题