2010-12-20 7 views
3

Facebook API 검색을 처음 접했습니다. 이 코드를 사용하지만 리졸버는 비어 있습니다. 누구든지 나를 도울 수 있습니까? 감사.Facebook api search.

<form action ="index.php" method ="post"> 
<input type="text" value="what is?" name="search" style="color:#999;text-align:center;" onfocus="if (value =='what is?'){value =''}" onblur="if (value ==''){value='what is?'}"/> 
<input type ="submit" value="ok" /> 
</form> 
<?php 
function callFb($url) 
{ 
    $ch = curl_init(); 
    curl_setopt_array($ch, array(
     CURLOPT_URL => $url, 
     CURLOPT_RETURNTRANSFER => true 
    )); 

    $result = curl_exec($ch); 
    curl_close($ch); 
    return $result; 
} 

$url = "https://graph.facebook.com/oauth/access_token?client_id=api_id&redirect_uri=my_url&client_secret=my_secret"; 
$access_token = callFb($url); 
$access_token = substr($access_token, strpos($access_token, "=")+1, strlen($access_token)); 

$url1 = "https://graph.facebook.com/search?access_token=".$access_token."&q=".urlencode($_POST['search'])."&type=user"; 
$ret_json = callFb($url1); 
$users = json_decode($ret_json, true); 

?> 

<img src="https://graph.facebook.com/<? echo $users[data][0][id]; ?>/picture?type=small"> 
+0

'https : //graph.facebook.com/oauth/access_token? client_id = api_id & redirect_uri = my_url & client_secret = my_secret' 'api_id','my_url' 및'my_secret'을 적절한 데이터로 바꿔야합니다. –

+0

@Horia Dragomir, yes , 나는 이미 나의 것으로 바꾼다. 그러나 결과는 비어있다. 심지어 나는 나 자신을 찾는다. –

+0

'$ access_token'은 유효한 어떤 것을 의미합니까? – ajreal

답변

4

는 귀하의 $ URL 매개 변수가 설정됩니다

"https://graph.facebook.com/oauth/access_token?ient_id=api_id & redirect_uri로 = my_url & client_secret = my_secret";

'client_id', 'redirect_uri'및 'client_secret'의 값은 여전히 ​​위치 표시 자로 설정됩니다. 이 처리하는 가장 좋은 방법은 지금과 같다 :

<? 

// params to be encoded in the auth URL 
$params = array(
    'client_id' => $fb_app_id, 
    'redirect_uri' => $my_redirect_url, 
    'client_secret' => $fb_app_secret, 
); 

// encode the params in to a string 
$paramString = "?"; 
foreach($params as $key=>$value) { 
    $paramString .= "&{$key]=" . urlencode($value); 
} 

// auth URL 
$url = "https://graph.facebook.com/oauth/access_token" . $paramString; 

당신은 $fb_app_id, $my_redirect_url에 진짜 원하는 값을 할당하고, $ fb_app_secret한다.

$fb_app_id$fb_app_secret의 경우 해당 앱의 Facebook 개발자 영역 (http://www.facebook.com/developer)의 앱 설정에서 가져올 수 있습니다.

$my_redirect_url의 값은 편집 앱 영역에서 '웹 사이트'탭 내에서 실제 URL이어야합니다 : http://drktd.com/3zc4

0

당신이 전무로 아무것도 전달되지는 null

과 함께이 시도 있는지 확인 당신은

https://graph.facebook.com/search?q=mark&type=user&access_token=<%=your token%> 

다음과 같은 응답을 얻을 것이다 브라우저에서 토큰에 액세스

{ 
    "data": [ 
     { 
     "name": "Mark Maglasang", 
     "id": "142137849672813" 
     }, 
     { 
     "name": "Mark Daniel", 
     "id": "137983696724314" 
     }, 
     { 
     "name": "Mark Zuckerberg", 
     "id": "10101640953722381" 
     }, 
     { 
     "name": "Mujeres Del Markham Desnudas", 
     "id": "1046548842073860" 
     }, 
     { 
     "name": "Mark Tarello", 
     "id": "10153122965377699" 
     }, 
     { 
     "name": "Mark Feister", 
     "id": "128516701078456" 
     }, 
     { 
     "name": "Mark Connors", 
     "id": "828042037238121" 
     }, 
     { 
     "name": "Mark Schonbach", 
     "id": "10102125662137944" 
     }, 
     { 
     "name": "Gift Mark", 
     "id": "276086699535224" 
     },