2016-02-18 7 views
0

У меня возникли трудности, забирающий облицовочного профиля картина ...FBSDKGraphRequest Как получить фотографию профиля?

Здесь я получаю profie изображение:

let userProfile = "https://graph.facebook.com/" + userId + "/picture?type=large" 

        let profilePictureUrl = NSURL(string: userProfile) 

        let profilePictureData = NSData(contentsOfURL: profilePictureUrl!) 
        if (profilePictureData != nil) { 

         let profileFileObject = PFFile(data:profilePictureData!) 
         currentUser.setObject(profileFileObject!, forKey: "profilePicture") 
        } 

который прекрасно работает.

И вот теперь я пытаюсь получить титульный картину:

let coverPicture = "https://graph.facebook.com/" + userId + "/cover?type=large" 


        let coverPictureUrl = NSURL(string: coverPicture) 
        let coverPictureData = NSData(contentsOfURL: coverPictureUrl!) 
        if (coverPictureData != nil) { 

         let coverFileObject = PFFile(data:profilePictureData!) 
         currentUser.setObject(coverFileObject!, forKey: "coverPicture") 
        } 

Но это, кажется, не работает ?!

Если кто-то может помочь, пожалуйста :)

ответ

0

Это было время, так как я работал с графом Апи, но, насколько я знаю, вы не можете получить доступ пользователя обложку непосредственно, даже если поле cover в API.

Лучший подход, который я могу думать о том, чтобы запросить пользователя Посмотреть фотоальбомы пользователя с:

"https://graph.facebook.com/" + userId + "/albums" 

В объекте ответа вы найдете альбом с названием «Фотографии на обложке»:

"created_time": "2016-01-01T20:00:00+0000", 
    "name": "Cover Photos", 
    "id": "123456789101112" 

С помощью {id)/picture вы можете получить обложку.

Надеюсь, это вам поможет!

+0

Извините, для меня это мой первый раз! Как я мог бы реализовать это в своем коде? –

+0

Извините, я не могу предоставить какой-либо код на данный момент. Просто посмотрите на графический api explorer [здесь] (https://developers.facebook.com/tools/explorer/) для проверки. 1. Выберите Get Token -> Get User Token 2. Отправьте запрос с 'me/albums', чтобы получить все ваши альбомы. 3. Найдите альбом под названием« Cover Photos »и отправьте новый запрос с идентификатором альбом вроде этого 'id/picture'. Это даст вам ссылку на вашу обложку. Теперь просто сделайте то же самое в своем коде с помощью FacebookSDK. – cherrmanncom

+0

Я посмотрел и несколько попыток .. Но не повезло! –

0

Это может быть полезно для получения изображения обложки в facebook.

let emailRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"email,name, id,cover"], tokenString: result?.token.tokenString, version: nil, httpMethod: "GET") 
    _ = emailRequest?.start(completionHandler: { (nil, resultParameters, error) in 
     if(error == nil) { 
       if let cover = (params?["cover"] as? NSDictionary)["source"]{ 
        var coverUrl = cover as? String 
      } 
     } 
}) 
Смежные вопросы