由于Laravel Socialite
和Facebook Login
,我的网站上有很多用户注册。当用户创建帐户时,app_scoped_id
会保存在provider_user_id
下。
我需要在我的网页上获取用户page_scoped_id
而不是app_scoped_id
。
为此,我使用的是Facebook Matching ID
,其文档可以找到here
$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'];
它对我自己很有效,但是当我试图让其他用户' page scoped id,它返回一个空数组。
答案 0 :(得分:0)
当且仅当两者都存在时,Facebook匹配API才能匹配页面作用域ID和应用程序作用域ID。
就我而言,页面作用域ID尚未与用户关联(因为他们尚未与信使进行交互)。