Facebook 페이지에서 일부 게시물을 가져와 내 웹 사이트에 표시해야합니다. 내가 페이스 북의 그래프 API를 사용하여 찾고 있어요,하지만 난 조금 어려움을 겪고있어, 설명서 및 모든 종류의 자습서 내가 먼저 내 웹 사이트에 로그인하는 사용자에게 물어 로그인 흐름을 설정하는 것으로 보인다. 그러나 그것은 내가 필요한 것이 아닙니다. 페이스 북으로 인증 (유지)하고 정기적으로 새 게시물을 가져 오려면 내 서버 측 응용 프로그램이 필요합니다.Facebook Graph API로 인증
페이지 토큰을 사용하여 수명이 긴 토큰을 가져올 수 있어야한다는 것을 알았지 만 지금은 단명 한 토큰을 사용하여 인증하는 방법을 알지 못합니다.
그래서 응용 프로그램 ID와 비밀을 얻는 테스트 응용 프로그램을 설정하고 Facebook Graph API Explorer에 가서 응용 프로그램을 만드는 데 사용 된 사용자의 인증 토큰을 가져 왔습니다. 내가 트리플가-확인했습니다
Graph returned an error: Invalid appsecret_proof provided in the API argument
: 내 코드를 실행하면
(...)
$fb = new \Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => '2.8',
'default_access_token' => $app_access_token
]);
try {
$response = $fb->get('/me');
} catch(\Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(\Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$me = $response->getGraphUser();
나는이 메시지가 : 여기
내가 연결 그래프 API를 테스트하는 데 사용하고 기본 코드 그$app_id
과
$app_secret
은 내가 앱을 만들 때 부여한 값이며, 내 개인 토큰과 Graph API Explorer를 통해 얻을 수 있었던 페이지 토큰으로 시도한 내 액세스 토큰을 세 번 확인했습니다.
나는 또 다른 내가 수동으로 appsecret 증거를 생성 할 것을 제안 스레드 발견, 그래서 나는이 한 : 나는
app_secret
에
$appsecret_proof
을 통과해야 아니면 내가 어떻게 사용해야하는 경우
$appsecret_proof= hash_hmac('sha256', $app_access_token, $app_secret);
$fb = new \Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $appsecret_proof,
'default_graph_version' => '2.8',
'default_access_token' => $app_access_token
]);
는 잘 모르겠어요를 그것. 위의 코드에서 여전히 동일한 오류가 발생합니다.
일반적으로 공식 sdk를 사용할 때 appsecret_proof을 처리하지 않아도됩니다. 그렇지 않다면 모든 API 호출에 추가해야합니다. – luschn
네, 설명서에서 알 수 있듯이 필수는 아니지만 'appsecret_proof'이 유효하지 않다는 오류 메시지가 표시되면 명시 적으로 사용하면 도움이 될 것이라고 생각했습니다. 하지만 같은 오류 메시지가 표시되거나 표시되지 않습니다. – funkylaundry