Проблема с заявкой на приложение Facebook - PullRequest
2 голосов
/ 03 февраля 2012

я пытаюсь протестировать пример с веб-страницы разработчиков

$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;

и получил ошибку [function.file-get-contents]: не удалось открыть поток: ошибка HTTP-запроса!HTTP / 1.1 400 Bad Request, когда я использую $ apprequest_url в браузере, все работает.Где проблема?

Ответы [ 2 ]

0 голосов
/ 11 октября 2012

Что-то выглядит странно ...

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

Во-первых, похоже, что вы кодируете весь URL. Во-вторых, ваша строка URL содержит $ app_access_token, но она не привязана к ключу параметра ... Возможно, стоит попробовать только URL, кодирующий «сообщение» и добавляющий «access_token» в ваш URL-адрес:

$message = urlencode('test string');
$apprequest_url = "https://graph.facebook.com/$user_id/apprequests?";
$apprequest_url .= "message=$message&access_token=$app_access_token&method=post";
0 голосов
/ 03 февраля 2012

Сначала вы должны urlencode строки, которую вы отправляете в URL:

$apprequest_url = "https://graph.facebook.com/" . $user_id . "/apprequests?message=" . urlencode('test string') . "&" . $app_access_token . "&method=post";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...