Есть ли способ определить, приводит ли URL-адрес facebook к профилю или странице через facebook php sdk? - PullRequest
0 голосов
/ 03 февраля 2019

Пользователи моего сайта могут добавлять фан-страницы и профили в Facebook.Я пытаюсь найти способ определить, ведет ли добавленный URL к профилю в Facebook или к фан-странице в Facebook.У меня на сайте установлена ​​php-sdk версия 5, и у меня также есть действительные токены доступа для моего собственного профиля.

Есть ли способ узнать, ведет ли какой-либо конкретный URL-адрес facebook к профилю или фан-странице?не имея и не получив токен ни одному из них?

1 Ответ

0 голосов
/ 04 февраля 2019

Есть ли способ выяснить, ведет ли какой-либо конкретный URL-адрес facebook к профилю или фан-странице, не имея и не имея токена для любого из них?

Официального нет.

Вы все еще можете попытаться сделать обоснованное предположение, если вы получили URL профиля, который содержит имя пользователя (пользователя или страницу).

Попытка получить доступ к профилю пользователя, к которому у вас нет доступа таким образом., в настоящее время все еще приводит к сообщению об ошибке, «(# 803) Невозможно запросить пользователей по их имени пользователя (xyz)». Facebook представил это сообщение об ошибке после того, как они удалили поле username из объекта пользователя.

Если это страница, а у вас опять нет токена, который конкретно предоставляет доступ, то вы должны получить ошибку «(# 10) Чтобы использовать« Доступ к общему контенту страницы », вы используете этоконечная точка должна быть проверена и одобрена Facebook.[…] » (при условии, что в вашем приложении эта функция не была рассмотрена и одобрена; если бы она была у вас, у вас была бы возможность прочитать основные данные общедоступной страницы, используя этот запрос, чтобы вы могли сделать из этого свои выводы.)

Это относится к страницам, которые в настоящее время являются общедоступными и не имеют ограничений доступа;если это не так, вы должны получить сообщение: «(# 10) Объект не существует, не может быть загружен из-за отсутствия рецензируемой функции« Доступ к общедоступному контенту »или не поддерживает эту операцию.[…] ”

Но могут быть и другие ситуации.Не каждому пользователю задано имя пользователя для его личного профиля - и если вы получите только числовой идентификатор пользователя, вы получите «Неподдерживаемый запрос на получение.Объект с идентификатором 'xyz' не существует, не может быть загружен из-за отсутствия разрешений или не поддерживает эту операцию. ” Но это сообщение не относится к профилям пользователей, вы можете получить его относительно других объектов, которые вы просто не делаететакже есть доступ к.

И, кроме того, Facebook, возможно, изменит это, если они почувствуют, что это предоставляет больше информации, чем им удобно.Они могут переключиться на более общее сообщение об ошибке, охватывающее все эти случаи в какой-то момент, или что-то в этом роде.

Если вам абсолютно не нужно убедиться, что ваше приложение знает, что такое профиль пользователя, ичто за страница, я бы порекомендовал не пытаться делать это - и, скорее, доверять своим пользователям, что они заплатят немного намерения, если результат имеет для них значение.частично - используется, это синтаксис для получения информации о «внешних» объектах Open Graph путем указания URL-адресов с использованием синтаксиса ?ids=….Запрос на ?ids=https://www.facebook.com/zuck,https://www.facebook.com/facebook в настоящее время дает следующий результат,

{
  "https://www.facebook.com/facebook": {
    "name": "Facebook",
    "id": "20531316728"
  },
  "https://www.facebook.com/zuck": {
    "id": "https://www.facebook.com/zuck"
  }
}

. Как видите, для первого, который является официальной страницей для Facebook, он возвращает идентификатор страницы, тогда как для второго, который является личным профилем Марка, это не так.Но, будьте осторожны - для непубличных страниц вы также не получите здесь никакого идентификатора.Но, возможно, в сочетании с вышеупомянутыми запросами, это приведет к различным сообщениям об ошибках в зависимости от типа объекта, что может повысить качество «образованного предположения» здесь.

...