FaceBook連携のWEBアプリを作ってるときの話なのですが。。
An active access token must be used to query information about the current user.
というエラー。
出ました。ご他聞にもれず。
で、いろいろ情報収集。
まぁここらへんからたどれば、解決しそうな感じはしたのです。
http://fb.dev-plus.jp/forum/topic.php?id=67
でも、いっこうに改善されず。
ところが、ひょんなことから、localhost連携だと成功。
WEBサーバだと失敗。
んーーーー。よくある。それだ!
ってことで、WEBサーバ、リバースプロキシしてるんですよね。
だから、PHP、で$_SERVER['HTTP_HOST']がサーバ名になってまうわけです。
で、GREP。
その結果、以下のコードを発見。
- protected function getHttpHost() {
- if ($this->trustForwarded && isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
- return $_SERVER['HTTP_X_FORWARDED_HOST'];
- }
- return $_SERVER['HTTP_HOST'];
- }
- if (isset($config['trustForwarded']) && $config['trustForwarded']) {
- $this->trustForwarded = true;
- }
- $facebook = new Facebook(array(
- 'appId' => $appId,
- 'secret' => $secret,
- 'trustForwarded' => true,
- 'cookie' => true
- ));
0 件のコメント:
コメントを投稿