2011-09-16 2 views
0

나이 제한을 설정하는 내 오래된 방법은새로운 PHP 라이브러리를 사용하여 연령 제한을 설정하는 방법은 무엇입니까?

$userID = $facebook->require_login($required_permissions = 'email, publish_stream,offline_access'); 
$info = array('age' => '18+'); 
$success = $facebook->api_client->admin_setRestrictionInfo($info); 

과 비슷하지만 이전 방법은 곧 중단 될 예정이지만 코드를 다시 작성해야합니다. 모든 방법을 시도했다가 다음 api 메서드를이 방법을 호출해야 찾을

$accessToken=$facebook->getAccessToken(); 
echo "<BR>access_token is: ".$accessToken; 
$result = $facebook->api(array(
     'method' => 'admin.setRestrictionInfo', 
     'restriction_str' => json_encode(array('age' => '18+')), 
     "access_token" => $accessToken, 
)); 

그러나 항상 다음 오류가 throw됩니다.

access_token is: 112819402105453|9761b1a933b0277ff56453a6.1-1670893505|zJEVp2JXbHzRVSVXmJUgV-Fz13o 
Fatal error: Uncaught Exception: 15: This method must be called with an app access_token. thrown in /usr/local/chroot/carrotbid/home/php/facebook_api/base_facebook.php on line 708 

모든 솔루션? 당신의 도움을 주셔서 감사합니다.

답변

2

나는 잠시 동안 고민하고 마침내 알아 냈습니다. 그래서 나는 당신을 위해 대답을 던지 리라 생각했습니다.

getAccessToken 것은 허튼 소리입니다. 분명히 그것은 토큰이 SDK에서 사용되고 앱의 토큰이 아니라는 것입니다.

$access_token = $app_id . "|" . $app_secret; 

$facebook->api(array(
    "access_token"=>$access_token, 
    "method"=>"admin.setRestrictionInfo", 
    "restriction_str"=>"{'location':'CA'}" 
)); 

은 분명히 당신의 $app_id$app_secret을 설정합니다. 앱의 액세스 토큰 구조는 [app id]|[app secret]입니다. URL을 호출에 대한

구조는 다음이 도움이

https://api.facebook.com/method/admin.setRestrictionInfo?access_token=[APP_ID]|[APP_SECRET]&format=json&restriction_str={%22type%22:%22alcohol%22} 

희망!

관련 문제