Я пытаюсь получить доступ ко всем изображениям с Facebook, которые загрузил пользователь. Я пытаюсь сделать это с помощью user_photos
https://developers.facebook.com/docs/facebook-login/permissions/#reference-user_photos
Я также пытаюсь использовать Graph API из этого iOS: Как получить сборщик фотографий из альбома Facebook
мой код
для Логин
func btnFbClicked()
{
fbLoginManager.logOut()
fbLoginManager.loginBehavior = .web
fbLoginManager.logIn(withReadPermissions: ["public_profile", "email", "user_friends","user_photos"], from: self) { (result, error) in
if error != nil
{
print("error occured with login \(String(describing: error?.localizedDescription))")
}
else if (result?.isCancelled)!
{
print("login canceled")
}
else
{
if FBSDKAccessToken.current() != nil
{
FBSDKGraphRequest.init(graphPath: "me", parameters: ["fields":"id, name, first_name, last_name, picture.type(normal), email,gender"]).start(completionHandler: { (connection, userResult, error) in
if error != nil {
print("error occured \(String(describing: error?.localizedDescription))")
}
else if userResult != nil {
print("Login with FB is success")
print(userResult as! [String:Any])
self.fbData = (userResult as? NSDictionary)!
let mutableFBDict = NSMutableDictionary(dictionary: self.fbData)
print(mutableFBDict)
if((mutableFBDict["email"] as? String) ?? "") == ""{
// self.showAlertNoHide(title: "", message: "If permission is granted then please set any email as a primary email in facebook general settings, then only facebook will return email to third party application. Sorry for the inconvenience.")
return
}
var gender = Int64()
if(mutableFBDict["gender"] as? String == "male")
{
gender = Int64(1)
}
else if(mutableFBDict["gender"] as? String == "female")
{
gender = Int64(2)
}
else
{
gender = Int64(0)
}
self.fetchListOfUserPhotos()
}
для получения фотографий
func fetchListOfUserPhotos()
{
guard let id = self.fbData["id"] as? String else
{
return
}
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: id + "/photos" , parameters: ["fields":"user_photos"], httpMethod: "GET")
//FBSDKGraphRequest(graphPath: id + "/photos" , parameters: nil, httpMethod: "GET")
graphRequest.start(completionHandler: { (connection, result, error) -> Void in
if ((error) != nil)
{
// Process error
print("Error: \(error)")
}
else
{
print("fetched user: \(result)")
let fbResult:[String:AnyObject] = result as! [String : AnyObject]
self.userPhotos = fbResult["data"] as! NSArray?
self.myCollectionView.reloadData()
}
})
}
Отвечает Я получаю
Optional({
data = (
);
})
, поэтому мой вопрос - получить доступ к изображениям, загруженным пользователем на Facebookили фейсбук меняет политику?