2
我想在Yii框架中使用Facebook連接。
問題是我想訪問用戶的電子郵件地址和 $ facebook-> api('/ me')正在返回NULL。
如何解決該問題?
這裏是我的代碼:
<?php
Yii::import("ext.fconnect.*");
$app_id = "xxx";
$app_secret = "xxxx";
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$user_profile = $e;
$user = NULL;
}
}
if ($user) {
$d["logoutUrl"] = $facebook->getLogoutUrl(array(
'fblogout' => 'true',
'next' => $this->createAbsoluteUrl("main/signout")
));
$d["user_info"] = $facebook->api('/' . $user);
} else {
$d["loginUrl"] = $facebook->getLoginUrl(array(
'scope' => 'email, read_stream, publish_stream, user_birthday, user_location, user_work_history, user_hometown, user_photos',
'redirect_uri' => $this->request->hostInfo . $this->request->url,
));
}
$d["user"] = $user;
$d["userprofile"] = $user_profile;
似乎'$ facebook-> getUser()'由於最新的SDK更改而出現問題。它總是返回0. – deadlock 2013-03-09 12:52:50
偉大的分機存在https://github.com/Nodge/yii-eauth。我曾經在一個項目中驗證用戶身份。 – 2013-03-09 17:37:25
我刪除了$ facebook-> api(「/ me」);從try catch塊開始,一切開始爲我工作。 :) – 2013-03-10 08:06:52