Как получить токен из возврата URL-адреса при использовании API Facebook Graph в Laravel и ReactJS

#reactjs #facebook #facebook-graph-api #laravel-8 #facebook-php-sdk

#реагирует на #Facebook #facebook-график-api #ларавель-8 #facebook-php-sdk

Вопрос:

Я использую laravel для создания API и входа в приложение Facebook, а также для его использования. Почти все работает, я могу войти на экран facebook, и меня перенаправляют на URL-адрес, который возвращает json с сгенерированным токеном. Однако, поскольку этот URL-адрес не вызывается таким клиентом, как axios, у меня нет этого возврата в представлении ReactJS. Когда он перенаправляется на URL-адрес, я вижу на экране только объект json. Я хотел бы иметь возможность взять токен и записать его в базу данных или получить возврат в представлении ReactJS, чтобы иметь возможность манипулировать им, например, делая новый запрос в API, но я не могу этого сделать. Я попытался изменить возврат в API, но это не сработало. Я использую facebook/graph-sdk.
Приведенный ниже код показывает, как вызывается URL-адрес facebook для получения токена. Поскольку адрес API отличается от сайта ReactJS, когда он возвращается, все, что я вижу, — это json с маркером на экране. Я хотел бы получить этот токен из представления ReactJS. Я пытался передать токен за сеанс, когда запускается URL-адрес, но я не могу получить результат сеанса.

 $helper = $this-gt;facebook-gt;getRedirectLoginHelper();   if (request('state')) {  $helper-gt;getPersistentDataHandler()-gt;set('state', request('state'));  }   try {  $accessToken = $helper-gt;getAccessToken();  } catch(FacebookResponseException $e) {  throw new Exception("Graph returned an error: {$e-gt;getMessage()}");  } catch(FacebookSDKException $e) {  throw new Exception("Facebook SDK returned an error: {$e-gt;getMessage()}");  }   if (!isset($accessToken)) {  throw new Exception('Access token error');  }   if (!$accessToken-gt;isLongLived()) {  try {  $oAuth2Client = $this-gt;facebook-gt;getOAuth2Client();  $accessToken = $oAuth2Client-gt;getLongLivedAccessToken($accessToken);  } catch (FacebookSDKException $e) {  throw new Exception("Error getting a long-lived access token: {$e-gt;getMessage()}");  }  }  return $accessToken-gt;getValue();