Facebook Graph API: иметь токен доступа к приложению, нужен токен доступа пользователя без взаимодействия

У нас есть веб-сайт аудио-блогов, который можно настроить так, чтобы он публиковал ссылки на временную шкалу пользователя Facebook, когда они делают новую запись в блоге.

Для этого мы должны авторизовать наше приложение, когда они устанавливают ссылку на свою учетную запись Facebook. Мы получаемpublish_stream, offline_access а такжеmanage_pages разрешения (подробнее об этом позже).

Весь код написан на C #, но принципы применимы к любому языку, так как он работаетFacebook API мы обеспокоены Мы используемOAuth 2 иGraph API добиться всего этого.

Итак, мы получаемapp access token используя нашapp ID а такжеsecret и использовать этот токен для публикации на временной шкале пользователя, это прекрасно работает (потому что они уже разрешили нашему приложению сделать это). Мы также можем запросить Graph API и получить ихlikes, friends и различные другие данные.

NOW HERE IS THE PROBLEM:

Некоторые из наших пользователей хотят публиковать обновления для своего собственного графика времени, а также для графиков страниц, которыми они управляют. Теоретически это просто: вы запрашиваете API для страниц, которыми пользователь управляет, используя этот URL:https://graph.facebook.com/{userid}/accounts?access_token={token}

Говорят, что JSON, возвращаемый из этого вызова, содержит идентификаторы страниц и токены доступа к этим страницам. Затем вы используете токен доступа к странице для публикации на страницах & apos; временные рамки.

Тем не менее, когда мы пытаемся вызвать этот URL сapp access token мы получаем OAuthException102 «Для запроса этого ресурса требуется маркер доступа пользователя».

Обратите внимание, что это отличается от OAuthException104 & quot; токен доступа требуется для запроса этого ресурса & quot; (что вы получите, если не проставляете токен доступа), а также OAuthException190 & quot; Неверная подпись маркера доступа OAuth & quot; (который вы получили бы, если бы токен не был действительным).

Таким образом, наш токен доступа действителен, но не действителен для этого конкретного URL. Поэтому кажется, что нам нуженuser access token и неapp access token для этого конкретного канала (мне давно уже не нравится, почему это так, просто кажется, что так оно и есть).

Вся документация Facebook на эту тему (и я, должно быть, уже прочитал все это) ведет к одному месту:http://developers.facebook.com/docs/authentication/server-side/или «Поток аутентификации на стороне сервера» стр. На этой странице описывается, как получить неуловимый токен доступа пользователя, перенаправив пользователя в диалоговое окно авторизации и запросив соответствующие разрешения.but we need to achieve this without interaction from the user and the user has already given our app all the permissions we need, Вся эта автоматизированная публикация происходит на стороне сервера при пост-обработке аудио, поэтому мы все равно не можем взаимодействовать с пользователем на этом этапе.

Я не понимаю. Почему мы можем использовать токен доступа к приложению, чтобы получить практически любые данные, которые мы хотим от пользователя (ну, независимо от того, что они дали нам разрешение на получение), но/accounts Для каких данных нам нужен другой (пользовательский) токен доступа?

Может ли кто-нибудь пролить свет на то, как мы можем получить токен доступа пользователя, который позволит нам получать данные / account для наших пользователей без дальнейшего взаимодействия с пользователем?

Ответы на вопрос(1)

Ваш ответ на вопрос