Параметр ссылки API графа Facebook, возвращающий ноль - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь сохранить зарегистрированное имя пользователя Facebook на Facebook (например, www.facebook.com/james.dean01), чтобы связывать людей через мессенджер (аналогично Как открыть FacebookМессенджер и прямой кому-то? ).Я настраиваю кнопку, которая отправляет пользователя напрямую в чей-то мессенджер, но для этого мне нужно его имя пользователя / Facebook URL.Я пытаюсь использовать свойство "ссылка" (API графика Facebook: https://developers.facebook.com/docs/graph-api/reference/user), чтобы получить ссылку на профиль пользователя, который можно использовать для этой цели, только свойство ссылки (напечатанное) возвращает ноль. Я не являюсьуверен, что я делаю неправильно. Цель состоит в том, чтобы каждый раз, когда пользователь регистрирует данные, а база данных обновляется. Ниже приведен код.

Любая помощь будет принята с благодарностью!

import FacebookCore

class FacebookService {
static let instance = FacebookService()

let params = ["fields": "email, first_name, last_name, link, picture, name"]

func recordUserData() {
    let graphRequest = GraphRequest(graphPath: "me", parameters: params)
    graphRequest.start {
        (urlResponse, requestResult) in

        switch requestResult {
        case .failed(let error):
            print("error in graph request:", error)
            break
        case .success(let graphResponse):
            if let responseDictionary = graphResponse.dictionaryValue {
                print(responseDictionary)

                let link = responseDictionary["link"] as? String
                let email = responseDictionary["email"] as? String
                let fbId = responseDictionary["id"] as? String
                let name = responseDictionary["name"] as? String

                let picture = responseDictionary["picture"] as? NSDictionary
                let data = picture!["data"] as? NSDictionary
                let url = data!["url"] as? String

                print("Link: \(link)")
                print(url)

            }
        }
    }
  }
}

1 Ответ

0 голосов
/ 10 октября 2018

Вам необходимо запросить необходимое разрешение, https://developers.facebook.com/docs/facebook-login/permissions#reference-user_link

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

Не уверенвы получите это через обзор, потому что то, что вы будете делать, это то, что, по сути, говорит, что есть недопустимый вариант использования:

Попытка программно определить чье-то имя пользователя Facebook или канонический идентификатор пользователя.

Так что нет гарантии, что Facebook одобрит это;Вы можете только попытаться отправить его на рассмотрение и посмотреть, какой отзыв вы получите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...