没有办法直接发布到使用 Facebook 应用程序的用户墙关于任何事件或其他内容,这就是为什么要回答我自己的问题。Facebook 权限 publish_stream 是此工作所必需的。/
当他们像在我的代码中一样使用您的应用程序时,您需要创建一个用户数据库
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxx',
));
$args = array(
'message' => 'Your Message to user Wall',
'link' => 'http://apps.facebook.com/lxxxxxxxx',
'caption' => ' Use this Awesome application or Like this Page.',
'picture' => 'http://xxxxx.png',
);
$post_id = $facebook->api("/me/feed", "post", $args);
define('db_user','username);
define('db_password','password');
define('db_host','localhost');
define('db_name','database name');
// Connect to MySQL
$dbc = @mysql_connect (db_host, db_user, db_password) OR die ('Could not connect to MySQL: ' . mysql_error() );
// Select the correct database
mysql_select_db (db_name) OR die ('Could not select the database: ' . mysql_error() );
$me = $facebook->api('/me');
$dbcheck = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = ". $me['id']);
$dbr = mysql_fetch_array($dbcheck);
if(empty($dbr)){
$db=mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ('facebook', {$me['id']}, '{$me['name']}') ");
}
所以发布我的原始代码来详细告诉你。
这是人们第一次打开您的应用程序时的代码,此 $args 被发布到用户墙,并且 id 和用户名存储到数据库中。
所以将来如果您想将任何内容发布到正在使用您的应用程序并授予权限的用户墙上。您可以做推广网站或 Facebook 粉丝专页。
最后这件事是如何发生的。正如 Martin 先生所说,我们将需要 10 个用户的 10 个访问令牌,但如果您从应用程序发布而不是使用应用程序令牌一次在所有用户墙上发布,那么这是不正确的,因此您可以使用单个应用程序访问令牌发布如果您的应用程序具有此功能,则向数百万用户。那么如何使用此链接获取应用程序的访问令牌
https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=xxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxx
之后获取数组中的所有 id 并执行相同的代码以使用 for 循环在所有用户墙上发布,或者无论如何我仍然提供我使用的代码。
<?php
require_once("fb/facebook.php");
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxx',
));
$x=array("100001944919003","100000968648478","100001672538252","100003924282886");
$y=0;
while($y<=3){
$posting_fbid=$x[$y];
$attachment = array
(
'access_token'=>'access token from the url from the graph api',
'message' => 'This Page is awesome.',
'name' => 'DailyJokes-Must Like It',
'caption' => 'Dailyjokes',
'link' => 'http://facebook.com/wtfdailyjokes/',
'description' => 'Awesome Picture',
'scope' => 'publish_stream',
'picture' => 'https://www.facebook.com/photo.php?fbid=264680606974256&set=a.206648236110827.41772.206637039445280&type=1&relevant_count=1'
);
$result = $facebook->api($posting_fbid.'/feed/','post',$attachment);
echo 'successful for id '.$posting_fbid.'<br>';
$y++;
}
?>