2012-02-03 174 views
2

我嘗試測試例開發商網頁Facebook應用程序請求發出

$token_url = "https://graph.facebook.com/oauth/access_token?" . 
    "client_id=" . facebook::getConfig('appId') . 
    "&client_secret=" . facebook::getConfig('secret') . 
    "&grant_type=client_credentials"; 
$app_access_token = file_get_contents($token_url); 
$user_id = "100002758712176"; 
$apprequest_url = "https://graph.facebook.com/". 
    $user_id . 
    "/apprequests?message='test string'&" . 
    $app_access_token . "&method=post"; 
$result = file_get_contents(urlencode($apprequest_url)); 
echo "App Request sent? ". $result; 

,並得到eror [function.file-GET-內容]:未能打開流:HTTP請求失敗! HTTP/1.1 400錯誤請求 當我在瀏覽器中使用$ apprequest_url所有作品。哪裏有問題 ?

+0

是您Facebook用戶登錄到您的應用程序?您只能在用戶驗證您的應用後請求訪問令牌。 – Lix 2012-02-03 09:08:57

回答

0

首先,你應該進行urlencode您發送URL中的字符串:

$apprequest_url = "https://graph.facebook.com/" . $user_id . "/apprequests?message=" . urlencode('test string') . "&" . $app_access_token . "&method=post"; 
0

東西看起來奇怪...

$result = file_get_contents(urlencode($apprequest_url)); 

首先,它看起來像你編碼整個URL。其次,你的URL字符串包含$ app_access_token,但它不綁定到PARAM鍵...可能想嘗試編碼「消息」,並加入「的access_token」到您的網址stirng唯一網址:

$message = urlencode('test string'); 
$apprequest_url = "https://graph.facebook.com/$user_id/apprequests?"; 
$apprequest_url .= "message=$message&access_token=$app_access_token&method=post"; 
相關問題