Что-то выглядит странно ...
$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";