我创建了一个应用程序,用户可以将消息发布到自己的墙上!这是我的代码
try {
$facebook = new Facebook(FB_APIKEY, FB_SECRET);
$facebook->api_client->session_key = FB_SESSION;
$fetch = array('friends' =>
array('pattern' => '.*',
'query' => 'select uid2 from friend where uid1={$user}'));
$message = 'Hello There ...';
if ($facebook->api_client->stream_publish($message)) //149th line
echo 'message posted successfully';
} catch(Exception $e) {
echo $e . '<br />';
}
Run Code Online (Sandbox Code Playgroud)
它返回一个错误致命错误:在第149行的/home/webshine/public_html/tutorials/fb/example.php中调用未定义的方法stdClass :: stream_publish()有什么问题?
我最近一直试图让我的应用程序使用PHP SDK 3.0,并且看到我实际登录时遇到了一些麻烦.我有来自3.1.1下载的"example.php",它不承认我已登录.文件"with_js_sdk.php"也不承认我在你第一次运行时已经登录了.运行之后,然后该文件和"example.php"都会看到我已登录.一旦我退出,"example.php"不起作用,并且"with_js_sdk.php"在第一次失败运行,但所有后续运行的两个文件(以及我正在测试的其他一些文件)都将正确进行身份验证.如果不工作,所有文件都会显示"OAuthException",并显示以下消息:"必须使用活动访问令牌来查询有关当前用户的信息." 即使我已登录.所以我的问题是,"with_js_sdk.php"中是否有我可以在其他文件中设置的内容?我猜它与我读过的那个文件中的"oauth:true"有关,虽然我不是Facebook编码专家,所以我不确定.我有一个iframe应用程序,所以我的应用程序中没有"FB.init"部分(顺便提一下,直到sdk发生变化).这是我正在测试的最小代码,它给出了错误:
<?php
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '11111111111111111',
'secret' => 'abcdefghijk etc...',
'cookie'=>true
));
// See if there is a user from a cookie
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
$user = null;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
getuser总是正确返回,但$ facebook-> api('/ me')调用总是失败,直到我运行一个带有fbml的文件.在你问之前,是的,我改变了文件中的appID和秘密.谢谢.
达里尔
我为Facebook SDK找到的大多数示例和教程都是用于发布到用户帐户.
作为使用Facebook PHP SDK但不使用Javascript SDK的人,我找不到以下示例或教程:
在我的网站上,我不打算将信息发布到管理员的粉丝页面,而只是获取他们想要用于我的网站的页面的ID.感谢PHP SDK,我已经有了一种从管理员的粉丝页面中提取所需信息的方法.
有这样的指南吗?
facebook-page facebook-graph-api facebook-javascript-sdk facebook-php-sdk
我有最艰难的时间搞清楚这一点......我怎样才能获得用户ID?虽然我把问题放在一边听起来有点迟钝,但我无法在任何地方找到它!这是我的以下代码的顶部:
require '../fb_fc/facebook-php-sdk-9147097/src/facebook.php';
$appId = 'APP_ID';
$appSecret = 'APP_SECERT';
$userId = 'USER_ID?????';
$userAccessToken = 'ACCESS_TOKEN';
Run Code Online (Sandbox Code Playgroud)
如何获取用户ID?我通过使用获取访问令牌$GET_['access_token'];,这是URL:http://friendsconnect.org/example.php?access_token = ACCESS_TOKEN_HERE #access_token = ACCESS_TOKEN_HERE&expires_in = 0(这不是一个有效的链接).我怎样才能做到这一点?我也是新手,我愿意接受建议.
我在faccebook app上工作,除IE之外的所有浏览器都能正常工作.当我登录主页面时,我正在使用(getUser)函数来设置用户ID,但仅在IE中,当我浏览到下一个应用程序页面时,(getUser)函数返回零.
这有解决方案吗?我可以使用浏览第一页的用户ID吗?
谢谢!
我在官方页面上寻找文档,但没有任何帮助,所以我构建这个代码,它不起作用.
FacebookSession::setDefaultApplication('app-id', 'app-secret');
$helper = new \Facebook\FacebookRedirectLoginHelper('http://my-return-url');
if (isset($_SESSION['token'])) {
$session = new FacebookSession($_SESSION['token']);
if (!$session->validate()) {
$session = null;
}
} else {
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
die("Oops! :/");
} catch(Exception $ex) {
die($ex->message());
}
}
if (isset($session)) {
$_SESSION['token'] = $session->getToken();
$session = new FacebookSession($session->getToken());
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
$graphObject = $response->getGraphObject()->asArray();
echo '<pre>';
print_r($graphObject);
echo '</pre>';
} else {
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
} …Run Code Online (Sandbox Code Playgroud) 我借助以下链接使用Graph API和Facebook SDK for PHP:https://developers.facebook.com/docs/php/howto/profilewithgraphapi/4.0.0.这是代码:
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
if($session) {
try {
$user_profile = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
echo "Name: " . $user_profile->getName();
} catch(FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
}
Run Code Online (Sandbox Code Playgroud)
我可以通过使用得到用户的名字user_profile->getName();,我也可以根据这里的API调用得到他/她的名字,姓氏,中间名等:https:// developers .facebook.com/docs/php/GraphObject /#user-instance-methods.我知道可以获取用户的电子邮件地址和性别,但在之前的链接中,我没有找到任何API调用来获取此信息.
对于Facebook SDK for PHP,获取用户电子邮件地址和性别的API调用是什么?
非常感谢你.
我已成功设置webhook以指向我的回调URL,它会收到以下示例数据:
Array
(
[object] => page
[entry] => Array
(
[0] => Array
(
[id] => 297269987142139
[time] => 1454876106
[changes] => Array
(
[0] => Array
(
[field] => leadgen
[value] => Array
(
[ad_id] => 410908499427
[adgroup_id] => 238113717077
[created_time] => 1454847306
[form_id] => 577581087825
[leadgen_id] => 441393665441
[page_id] => 297269987142139
)
)
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试检索与相关的数据leadgen_id作为被Facebook解释说,这是行不通的:
use FacebookAds\Object\Lead;
$form = new Lead('441393665441');
$form->read();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误: Unsupported get request. Please read the Graph API …
我在检索潜在客户广告时遇到问题。
我有广告ID和页面ID。我还没有创建它们,但是被添加为开发人员。
我正在尝试使用PHP SDK和此https://developers.facebook.com/docs/marketing-api/guides/lead-ads/v2.9
什么都没用。我找不到关于它的不错的教程。我只想检索领先的广告!
任何人?