gpt4 book ai didi

php - 在 Laravel 5.4 上使用社交名流检索 Facebook 用户访问 token

转载 作者:行者123 更新时间:2023-12-02 20:32:14 24 4
gpt4 key购买 nike

我正在尝试获取用户访问 token ,以便我可以通过 Guzzle 向 Facebook 的 Graph API 发送 CURL 请求,以获取正在使用该应用程序的用户好友。但我似乎无法获得它。这是我的 Controller :

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;
use Socialite;

class SocialFriendsController extends Controller
{

public function getFacebookFriends()
{

$user = Socialite::driver('facebook')->user();
$access_token = $user->token;

$client = new Client();
$body = $client->get('https://graph.facebook.com/v2.11/me/friends', [
'query' => [
'access_token' => '$access_token',
]
])->getBody();

$result = \GuzzleHttp\json_decode($body, 1);
return view('pages.admin.posts.create', ['result' => $result]);
}

}

最佳答案

按照前面的答案修复对 $access_token 的引用后,您可以使用 facebook SDK 执行以下步骤,从 Facebook 检索长期有效的 token ,以便您可以多次调用API。默认身份验证 token 将有效 2 小时,之后您需要重新启动 oAuth 流程才能获取新 token 。长期 token 可以让您获得 2 个月的访问权限,然后才需要再次进行 oAuth。 https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension

$facebook = new \Facebook\Facebook();
$client = $facebook->getOAuth2Client();
$twoMonthToken = $client->getLongLivedAccessToken($twoHourToken);

使用 $twoMonthToken 更新用户

关于php - 在 Laravel 5.4 上使用社交名流检索 Facebook 用户访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48350764/

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