расширенные разрешения и т.д. в приложении facebook

#php #facebook

#php #Facebook

Вопрос:

Я хочу передать два параметра в массив, $params которые основаны на функции getLoginUrl , кстати, я использую php sdk 3.0.1.

Это то, что я написал:

 $loginUrl = $facebook->getLoginUrl(array(
                                          'req_perms' => 'publish_stream',
                                          'next' => 'my next url',
                                            ));
  

К сожалению, это не работает? Я почти уверен, что причина в версии sdk .. вход в систему работает хорошо, но без расширенных разрешений и следующего URL. любая помощь? Спасибо.

Комментарии:

1. Вам нужно рассказать нам более подробно, что происходит, когда это происходит и что вы пытаетесь сделать.

2. Я просто хочу, чтобы пользователь подключался к моему веб-сайту. когда пользователь нажимает «войти через facebook», это действительно работает, но расширенные разрешения не отображаются. (просто «Получите доступ к моей базовой информации»)

3. Я решил проблему .. req_perms вызывается scope и next теперь вызывается redirect_uri .

Ответ №1:

Пока вы отвечаете сами в комментариях, я расширю ответ. 21 мая Facebook объявил об обновлении PHP-SDK, которое является серьезным обновлением, которое нарушит ваш код!

Итак, лучший способ проверить новый способ работы SDK — это получить доступ к предоставленной странице с примером. Теперь для вашего случая это не дает большой информации, поэтому вам следует поискать в base_facebook.php и действительно, вы найдете (строка 449):

 /**
* Get a Login URL for use with redirects. By default, full page redirect is
* assumed. If you are using the generated URL with a window.open() call in
* JavaScript, you can pass in display=popup as part of the $params.
*
* The parameters:
* - redirect_uri: the url to go to after a successful login
* - scope: comma separated list of requested extended perms
*
* @param array $params Provide custom parameters
* @return string The URL for the login flow
*/
  

Теперь интересной частью является getLogoutUrl() метод, поскольку он все еще использует next параметр!