Как я могу получить канонический URL-адрес из facebook graph api в Android?

Я пытаюсь реализовать глубокую ссылку на совместное использование Facebook в своем приложении для Android. Эта глубокая ссылка предназначена только для мобильных устройств, а не для веб-страницы. Итак, согласно документации facebook Link1 Link2 просматриваю Link2. Следующее должно быть вызвано, чтобы получить идентификатор канонического URL-адреса. Этот канонический URL-адрес будет установлен в качестве ссылки для публикации в Facebook.

Чтобы получить канонический идентификатор

curl https://graph.facebook.com/app/app_link_hosts \
-F access_token="APP_ACCESS_TOKEN" \
-F name="Android App Link Object Example" \
-F android=' [
    {
      "url" : "sharesample://story/1234",
      "package" : "com.facebook.samples.sharesample",
      "app_name" : "ShareSample",
    },
  ]' \
-F web=' {
    "should_fallback" : false,
  }'

Чтобы получить канонический URL-адрес из канонического идентификатора

curl -G https://graph.facebook.com/YOUR_APP_LINK_HOST_ID \
-d access_token="APP_ACCESS_TOKEN" \
-d fields=canonical_url \
-d pretty=true

Я не знаю, как это назвать, и я не знаю терминов app_link_hosts, Пример ссылки на приложение Android, YOUR_APP_LINK_HOST_ID здесь на самом деле означает . Может ли кто-нибудь объяснить, как это назвать на примере. Спасибо.


person Nas    schedule 03.03.2015    source источник


Ответы (1)


  1. app_link_hosts является частью фактического пути графа для запроса, поэтому не изменяйте его и просто используйте как есть (/app/app_link_hosts — это полный путь).

  2. «Пример объекта ссылки на приложение Android» — это имя URL-адреса, который вы создаете. Это только для вашей пользы и на самом деле ни для чего не используется, поэтому вы можете поместить туда все, что захотите (я бы оставил это в виде строки, читаемой человеком).

  3. «YOUR_APP_LINK_HOST_ID» — это результат первой команды curl. Первая команда curl вернет вам строковый идентификатор, и вы используете его во второй команде, чтобы получить канонический URL-адрес (который вы можете использовать для обмена).

person Ming Li    schedule 03.03.2015
comment
Спасибо Мин Ли. Ясно с параметрами. Не могли бы вы написать мне, как вызвать эту команду curl с помощью пакета (url, package, app_name). Не могли бы вы опубликовать образцы фрагментов кода? Может быть очень полезно. - person Nas; 03.03.2015
comment
Вы бы не назвали его пакетом, он предназначен только для вызова из командной строки или со стороны сервера (именно поэтому ему нужен токен доступа к приложению). - person Ming Li; 04.03.2015
comment
Я не знаю, как вызвать его из командной строки или со стороны сервера. У меня не так много знаний об этом, кроме Android. Пожалуйста, не могли бы вы предложить мне, как это сделать, с любым примером или любым учебником, который вы знаете. Мне нужна надлежащая процедура, чтобы сделать это. - person Nas; 04.03.2015
comment
Привет @Nas, Если вы используете компьютер MAC, просто отредактируйте команду и вставьте ее в терминал. Curl уже существует в среде MAC. Если вы используете ПК с Windows, установите Cywin и выполните команду в окне Cywin. - person leegor; 08.03.2015