gpt4 book ai didi

php - facebook登录将代码作为查询字符串中的变量返回

转载 作者:行者123 更新时间:2023-12-04 05:02:13 25 4
gpt4 key购买 nike

我正在使用 PHP sdk 在我的网站之一中使用 Facebook 登录。

有时 facebook 登录有效,有时则无效。

这是我的 index.php:

/// fb login area.....
include("facebook/src/facebook.php");

$facebook = new Facebook(array(
'appId' => '159326560901256',
'secret' => 'c6b30bd2f80747b64d5b1d15a3da9e9c',
));

$user = $facebook->getUser();

$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'email',
'redirect_uri' => 'http://xyz.com/login_fb.php'
));

<a href="<?=$loginUrl?>"><img class="fb_img"
src="images/fb_logo.png" width="153" height="38" /></a>

它转到 login_fb.php :

https://www.facebook.com/dialog/oauth?client_id=123131231&redirect_uri=http%3A%2F%2Fxyz.com%2Flogin_fb.php&state=403bc8aaf9eaee4064e3cc27befc71ff&scope=email

现在在 login_fb.php 我得到这个网址:
login_fb.php?code=ASA&S^&*A^S&*A^S&*^A&*ASUAUIYSUIYASIYAUSYUIASA

并在 $user我收到 0
/// code for login_fb.php
include("facebook/src/facebook.php");

$facebook = new Facebook(array(
'appId' => '159326560901256',
'secret' => 'c6b30bd2f80747b64d5b1d15a3da9e9c',
));


// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e) {
error_log($e);
$user = null;
}

$logoutUrl = $facebook->getLogoutUrl(array(
'next' => 'http://minuteville.com/index.php?val=fblogout'
));

为什么它不起作用?

最佳答案

通过添加以下行并使用 getAccessTokenFromCode在 Facebook SDK 中,
问题可以解决。

访问代码过期。因此,通过交换代码获取新的访问代码可以解决问题
$access_code = $facebook->getAccessTokenFromCode($_GET['code']);

关于php - facebook登录将代码作为查询字符串中的变量返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16009846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com