Facebook API를 사용하여 PHP에서 정말 이상한 문제가 있습니다. 이 모든 코드는 테스트 서버 (공유 호스팅)에서 작동합니다. 하지만 프로덕션 서버 (Heroku)에서 실행하면 오류가 발생합니다.Facebook API - 가입 콜백의 시간 초과
내가하려는 것은 내 앱 사용자가 새 페이지를 좋아하거나 좋아지지 않을 때 Facebook에서 실시간 업데이트를받는 것입니다. https://developers.facebook.com/docs/graph-api/real-time-updates
내 코드 등록하려면 :
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$facebook->api(
"/" . $app_id . "/subscriptions", "POST", array(
'object' => 'user',
'callback_url' => 'http://' . $url . '/rtu/callback',
'fields' => 'likes',
'verify_token' => $rtu_verify_token,
'access_token' => $app_id . "|" . $app_secret
)
);
콜백에서 내 코드 :
if (isset($_GET['hub_verify_token']) && isset($_GET['hub_challenge'])) {
$rtu_verify_token = Config::get('variables.rtu_verify_token');
if (($_GET['hub_verify_token'] == $rtu_verify_token)) {
echo $_GET['hub_challenge'];
die();
}
}
$data = file_get_contents("php://input");
$json = json_decode($data);
오류 :
FacebookApiException (#2200) callback verification failed: Operation timed out after 6001 milliseconds with 0 bytes received
I 이것은 페이스 북이 제공하는 문서입니다 이미 app_id, url 및 app_s를 확인했습니다. ecret 변수. 다시, 이것은 내 테스트 서버에서 작동하지만 Heroku에서는 작동하지 않습니다. 페이스 북 API를 사용하지 않고 cURL 호출을 시도했지만 심지어 같은 오류가 발생했습니다.
아마 헤로 쿠와 관련이 있다고 생각하지만 증거를 찾을 수 없습니다. 페이스 북을 동시에 검증 요청을 전송하기 때문에
감사
그리고 Heroku는 하나의 dyno만으로 여러 요청을 허용하지 않습니다. 맞습니까? 감사합니다. –
하나의 가상 서버는 하나의 가상 서버입니다. 서버에서 당신은 원하는만큼의 인스턴스를 실행할 수 있습니다. 다음은 4 가지 인스턴스의 gunicorn을 실행하는 Procfile의 예입니다 : "web : python manage.py collectstatic --noinput; gunicorn -w 4 someapp.wsgi" –