由于Laravel Socialite
和Facebook Login
,我在我的网站上注册了一堆用户。当用户创建帐户时,其app_scoped_id
保存在provider_user_id
下。
我需要在我的页面上获取用户的page_scoped_id
,而不是app_scoped_id
。
为此,我正在使用其文档可在此处找到的Facebook Matching ID
代码
$fb = new Facebook(...);
$response = $fb->get($user->socialAccount->provider_user_id . '/ids_for_pages?fields=id&page=' . env('FB_PAGE_ID'), env('FACEBOOK_PAGE_TOKEN'));
$pageScopedId = $response->getDecodedBody()['data'][0]['id'];
问题
它非常适合我自己,但是当我尝试获取其他用户的页面范围 id 时,它会返回一个空数组。
Facebook 匹配
API 能够匹配页面范围的 ID 和应用范围的 ID,当且仅当它们都存在时。
就我而言,页面范围的 id 尚未与用户关联(因为他们尚未与信使交互)。