На самом деле пока нет метода графика с такой же функциональностью, как у вызова REST. Вот почему мы используем REST API.
Однако реализация, как вы заметили, не идеальна. Проблема в том, что вы на самом деле не должны делать какие-либо запросы API для проверки разрешений. Вы заметите, что метод, на который вы ссылаетесь, является виртуальным. «Правильный» способ использования атрибута CanvasAuthorize - это реализовать собственный метод и переопределить метод GetPermissions. Вы должны переопределить метод для проверки прав доступа пользователя к базе данных или чего-либо еще, а не для запроса API. Вы загружаете разрешения в базу данных, используя API в реальном времени и подписываясь на событие изменения разрешения. Вы можете прочитать больше об этом здесь: http://developers.facebook.com/docs/api/realtime
Это не очень легко сделать, но именно так вы получите желаемую производительность.