今天我尝试使用PHPSDK在Facebook上进行应用程序,我看到ocassionaly显示库中的例外说法
CurlException: 28: connect() timed out!
所以,要检查是否是我的代码错误,我PHPSDK从中下载了最新的库github.然后我试图运行examples/example.php文件几次,之后我查看错误日志,这个错误也在那里(并不总是,看起来像是随机的东西).
我试图在开发者论坛上找到解决方案而没有任何成功,因为我注意到这种问题在过去发生,并且没有人知道原因.
有解决方案吗
谢谢
似乎很少甚至没有关于Facebook登录与cakephp Auth组件在线集成的最新资源.我找到了以下资源:
除此之外,我没有找到明确的资源.我希望集成尽可能灵活(不使用魔术插件).经过大量研究后,我终于提出了一个体面的解决方案,我今天在这里分享.因为我对蛋糕很新,请提供帮助.
integration cakephp facebook-graph-api cakephp-2.0 facebook-php-sdk
我Socialite用来通过Facebook验证我的用户.但是,我无法让它发挥作用.我按照本教程,但收到以下错误:
我到处寻找并尝试过任何事情,但我无法让它发挥作用.这是我的代码:
在services.php中:
'facebook' => [
'client_id' => '[My App ID]',
'client_secret' => '[My App Secret]',
'redirect' => 'http://localhost:8000/auth/facebook/callback/',
],
Run Code Online (Sandbox Code Playgroud)
我的路线:
Route::group(['middleware' => ['web', 'requestlog']], function () {
Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider');
Route::get('auth/facebook/callback/', 'Auth\AuthController@handleProviderCallback');
});
Run Code Online (Sandbox Code Playgroud)
然后在我的AuthController中:
use Laravel\Socialite\Facades\Socialite;
public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}
public function handleProviderCallback()
{
try {
$providerUser = Socialite::driver('facebook')->user();
dd('yay it worked!');
} catch (RequestException $e) {
dd($e->getResponse()->json());
}
}
Run Code Online (Sandbox Code Playgroud)
然后我在FB中有这些设置:
出了什么问题?据我所知,我遵循了所有必要的步骤.我不明白这里有什么问题.我希望我提供了所有必要的信息!
编辑
以下是错误显示页面上的url的样子:
http://localhost:8000/auth/facebook/callback?code=AQBtnKEqZgImLqN7f3hETe9GptgzFH71sXrV5qmv8Rpo6Oj5-4rl8mBjFPbfkBtiV8w9atV7X4OrWfHyalJkXU-k6lkEv1bly6v5Qxm2es-_RRp8gfoSWOZwjqE34Rvq6__L3aEOERPEa9LSBk_rKVP_cYGZoQeAydRLQUZVGdr_p1SuE1hRZIvZTAZ-zorkPoyyCDNZtDEVFHGRJt_c3kTf_AKE97FVemrXrUDzxaX-rvovKtfGF3u4CvAIt5pe4g7zD30jAWF78ZgjjPpr21MdaGwP5V0tc8g84oz0dR5Nbit7sKeUE-XblWFrQCIKfqs-OJ6rcuzw7iPTx6xrQ9Ev&state=4f924a9974207482c6fce24c1d74705c6688adc0#_=_
我也尝试过隐身模式,删除cookie等等.结果相同......
使用旧的(2.x)SDK我用它来记录某人的offline_access:
$session = array
(
'uid' => $userdata['fb_uid'],
'sig' => $userdata['fb_sig'],
'access_token' => $userdata['fb_access_token']
);
$facebook->setSession($session);
Run Code Online (Sandbox Code Playgroud)
在新的SDK中,此功能不再存在.我想我需要登录使用:
setPersistentData($ key,$ value)
但这个功能受到保护,我不知道'代码'是什么?我需要这个来登录用户吗?'sig'发生了什么?我不再需要这个吗?
希望有人已经想到这一点,因为文档真的无济于事!
这让我疯狂> =(
$ facebook-> getUser()有时运行良好,但有时会返回0
这是我的代码:
require 'fbapi/facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'xxxxx',
));
$user = $facebook->getUser();
该应用标识和秘密是正确的.
这可能是getUser有时会返回0的原因???
php facebook-iframe facebook-graph-api facebook-authentication facebook-php-sdk
我正在使用facebook登录我的网站facebook php sdk.
我注意到的是logout链接没有做任何事情.在我注销后,用户仍然可以浏览该站点.这是我的代码facebook.php:
<?php
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => '*************',
'secret' => '******************************',
));
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl();
echo "<a href='$loginUrl'>login</a>";
$logoutUrl = $facebook->getLogoutUrl();
echo $loginUrl;
if($user){
session_start() ;
$_SESSION['user_info'] = $user;
$_SESSION['user_pro']= $facebook->api('/me');
print_r($_SESSION);
}
else{
echo 'not logged in ';
}
echo "<a href='example.com/logout.php'>log out </a>"
?>
Run Code Online (Sandbox Code Playgroud)
这code在登录时工作正常.注销链接应该销毁会话.这是页面的标题:
<?php
print_r($_SESSION) ;
header('example.com') ;
?>
Run Code Online (Sandbox Code Playgroud)
我的logout.php页面的问题是它根本检测不到会话.我不知道这是一个facebook api问题还是我的php问题. …
我不明白为什么我得到这个例外:
Session not active, could not store state.
Run Code Online (Sandbox Code Playgroud)
代码是:
<?php
require 'vendor/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
FacebookSession::setDefaultApplication('foo', 'baz');
$helper = new FacebookRedirectLoginHelper('bar');
$loginUrl = $helper->getLoginUrl();
?>
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我想用PHP发送消息到Facebook页面,但我有这个错误
(#200)用户未授权应用程序执行此操作.
我是Facebook页面和Facebook应用程序的管理员.
我想我有这个问题因为我没有很好的权限,但我不知道怎么做.
我在网上搜索了许多相同问题的网页,但我找不到答案.
他们是我的权限.
array(1) {
["data"]=> array(3) {
[0]=> array(2) {
["permission"]=> string(9) "installed"
["status"]=> string(7) "granted"
}
[1]=> array(2) {
["permission"]=> string(14)"public_profile"
["status"]=> string(7) "granted"
}
[2]=> array(2) {
["permission"]=> string(12) "manage_pages"
["status"]=> string(7) "granted" } } }
Run Code Online (Sandbox Code Playgroud)
这是我的代码.
$permissions = 'manage_pages, publish_stream';
$fb = new Facebook(array('appId'=>$appId, 'secret'=>$secret));
$fbuser = $fb->getUser();
if($fbuser){
$permissions = $fb->api('/me/permissions');
if(isset($_POST['msg']) and $_POST['msg']!=''){
try{
$message = array(
'access_token' => $token,
'message' => $_POST['msg']
);
// $posturl = '/'.$_POST['pageid'].'/feed';
$posturl = '/me/feed'; …Run Code Online (Sandbox Code Playgroud) Facebook的广告中有一个客观这里列出(PAGE_LIKES,VIDEO_VIEWS,等).
Facebook的见解列表中的用户行为这里列出(like,video_view,等,但也有一些缺失,unlike例如).
问题是:客观和行动不匹配.例如,有一个PAGE_LIKES目标和一个like动作.
在Facebook电源管理器中有一个"结果"列,为每个广告系列提供与广告系列目标匹配的用户操作计数(在下图中获得992like).
似乎在洞察中没有这样的东西(在api和sdk中都没有),那么识别广告系列转换计数的正确方法是什么(在电源管理器中命名为"结果")?
我们必须手动维护PAGE_LIKES <-> like吗?如果是这样,那么正确的映射是什么?
facebook facebook-graph-api facebook-ads-api facebook-php-sdk facebook-marketing-api
我收到了来自Facebook的通知,说他们将使来自2018年3月的有效OAuth重定向URI中未列出的URI的调用无效,我认为他们要求我们为重定向URI 启用严格模式.关于此的链接可以在这里找到.
我一直使用他们的PHP SDK禁用严格模式一年没有任何问题,但是当我启用严格模式并在那里放置重定向网址:https://nino-dot-dynamic-osprey-93721.appspot. com/admin/fb-callback_admin.php - 每当我尝试使用Facebook登录时,它会返回如下所示的错误:
Graph returned an error: Can't Load URL: The domain of this URL isn't included in the app's domains. To be able to load this URL, add all domains and subdomains of your app to the App Domains field in your app settings.
Run Code Online (Sandbox Code Playgroud)
请注意,我只是使用FB的默认PHP SDK登录代码(https://developers.facebook.com/docs/php/howto/example_facebook_login),其中包含login.php和fb-callback.php链接,我不使用任何自定义OAuth工作流程.
我注意到生成的重定向URL包含代码和状态参数:
site.com/admin/fb-callback_admin.php?code=somecode&state=somestate
Run Code Online (Sandbox Code Playgroud)
我认为这就是我收到错误的原因,因为它只需要https://nino-dot-dynamic-osprey-93721.appspot.com/admin/fb-callback_admin.php的重定向网址,而没有任何尾随参数.
考虑到重定向URL通过以下代码的响应,您如何考虑解决此问题的启用严格模式:
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email']; // Optional permissions
$loginUrl = …Run Code Online (Sandbox Code Playgroud) facebook-php-sdk ×10
facebook ×6
php ×4
cakephp ×1
cakephp-2.0 ×1
curl ×1
exception ×1
integration ×1
laravel ×1
laravel-5.2 ×1