2010-07-20 1 views
0

PHP 클라이언트 라이브러리가있는 Facebook iframe/Facebook Connect 응용 프로그램을 작성 중이며 페이지 중 하나에서 사용자의 현재 위치를 검색해야합니다. 도시 또는 국가.users_getInfo()를 사용하여 페이스 북의 iFrame 응용 프로그램에서 사용자 데이터를 검색하는 결과가 표시되지 않습니다.

색인 파일의 가능한 모든 데이터에 대해 "권한 요청"을 추가했습니다.

$user_id = $facebook->require_login($required_permissions = 'user_location,publish_stream,email,read_stream,user_about_me,user_activities,user_birthday,user_hometown,user_interests,user_likes,user_status); 

을 위해서 var_dump의

$userInfo = $facebook->api_client->users_getInfo($user_id, array('current_location')); 
var_dump($userInfo); 
$location = ($userInfo[0]) ? $userInfo[0]['current_location'] : $userInfo['current_location']; 
echo "UserInfo : ".$location; 

결과 ($ 사용자 정보는) string(0)""하고 $ 위치의 에코 비어, 내 응용 프로그램에서 사용하고있는 코드입니다.

제발 도와주세요.

+0

64 번째 줄은 무엇입니까? –

+0

죄송합니다. 언급하지 않았습니다. 이제 나는 그 질문을 편집했다. 변수에 데이터를 가져 오는 동안 오류가 발생합니다. – Angeline

답변

1

예를 복사 할 때 오류가 발생했기 때문입니다. 메소드 서명이 잘못되었습니다.

// Your version 
$facebook->api_client->users_getInfo($user_id,'last_name','first_name'); 

// From the example 
$facebook->api_client->users_getInfo($uid, 'last_name, first_name'); 

차이점을 확인하십시오. 두 번째 매개 변수는 쉼표로 구분 된 필드 이름 목록입니다.

API에서 정확하게 first_name 필드를 요청하지 않으므로 응답에서 사용할 수 없습니다.

따라서 읽을 때 오류가 발생했습니다.

+0

자, 언급 한대로 변경되었습니다. 하지만 여전히 같은 오류가 발생합니다. 치명적인 오류 : C : \ xampplite \ htdocs \ FacebookQantas \ deals.php on line 67의 배열로 문자열 오프셋을 사용할 수 없습니다. 여기서 줄 번호 67은'$ data [ 'last_name'] = $ user_details입니다. [0] [ 'last_name'];'제발 도와주세요 – Angeline

+0

응용 프로그램에 주어진 uid에 대해이 데이터를 읽을 수있는 권한이 있습니까? –

+0

내 이름과 위치 세부 정보를 표시하려고 할 때만 내 세부 정보를 읽으려고합니다. 그래서 나는 아무런 권한도 필요 없다고 생각했다. 내 응용 프로그램이 이러한 데이터를 읽을 수있는 권한을 얻는 방법은 무엇입니까? – Angeline