Cakephp 1.3 Web サイトにはWebtechnick Facebook プラグインを使用しています。約1年前に実施しました。そして、それは今までうまくいきました。しかし、今日、(新しいユーザーとして)ログインしようとすると、Facebookのユーザーデータが保存されないことがわかりました。これは、($this->Connect->user()
から取得された結果)が何も返さないためです。別のcakephp 2.0 Webサイトでこのfacebookプラグインも試しましたが、同じことがありました。$this->FB->api('/me')
/plugins/facebook/controller/components/connect.php, line 194
私は、その結果をもたらす可能性のあるウェブサイトにまったく変更を加えていないため、Facebook APIに何らかの変更があったと思います.
これはコンポーネントuser
内の関数ですconnect.php
function user($field = null){
if(isset($this->uid)){
$this->uid = $this->uid;
if($this->Controller->Session->read('FB.Me') == null){
$this->Controller->Session->write('FB.Me', $this->FB->api('/me'));
}
$this->me = $this->Controller->Session->read('FB.Me');
}
else {
$this->Controller->Session->delete('FB');
}
if(!$this->me){
return null;
}
if($field){
$retval = Set::extract("/$field", $this->me);
return empty($retval) ? null : $retval[0];
}
return $this->me;
}
そして私のbeforeFacebookSave()
機能app_controller
public function beforeFacebookSave() {
$fbUser = $this->Connect->user ();
//debug($fbUser); // outputs nothing
$this->Connect->authUser ['User'] ['email'] = $fbUser ['email'];
$this->Connect->authUser ['User'] ['first_name'] = $fbUser ['first_name'];
$this->Connect->authUser ['User'] ['last_name'] = $fbUser ['last_name'];
return true;
}
ありがとうございました !