Facebook页面,询问用户选择哪个页面,并获取id、姓名和评分IOS SWIFT 3-4
首先为我的英语感到抱歉,我是一名法国开发人员 在一周的时间里,我反复阅读了Facebook的文档,但它不起作用。 这是我的问题: 在Xcode上,我可以创建与Facebook的连接,用户可以连接到他的帐户,我设法恢复了他的图像和姓氏/名字。 在另一个页面上,我为[manage_pages]请求访问令牌,应用程序请求权限,但当用户有多个页面时,他们不建议管理一个页面,授权我无法检索Facebook页面的ID或名称。我在选项页面上给您留下了代码,允许您在用户按下按钮后请求授权连接您的Facebook页面 我尝试了访问图:/me/帐户。。。等等,但没有成功。这真的是因为我真的不知道我会来找你。提前感谢您的回答Facebook页面,询问用户选择哪个页面,并获取id、姓名和评分IOS SWIFT 3-4,ios,swift,facebook,facebook-graph-api,Ios,Swift,Facebook,Facebook Graph Api,首先为我的英语感到抱歉,我是一名法国开发人员 在一周的时间里,我反复阅读了Facebook的文档,但它不起作用。 这是我的问题: 在Xcode上,我可以创建与Facebook的连接,用户可以连接到他的帐户,我设法恢复了他的图像和姓氏/名字。 在另一个页面上,我为[manage_pages]请求访问令牌,应用程序请求权限,但当用户有多个页面时,他们不建议管理一个页面,授权我无法检索Facebook页面的ID或名称。我在选项页面上给您留下了代码,允许您在用户按下按钮后请求授权连接您的Facebook
@IBAction func connect_Pages(_ sender: Any) {
loginButtonClicked()
}
func loginButtonClicked() {
let login:FBSDKLoginManager = FBSDKLoginManager.init()
login.logIn(withPublishPermissions: ["manage_pages"], from: self) { (resultPAge, error) in
if((error) != nil) {
print("error")
}
else if (resultPAge?.isCancelled)! {
print("cancel")
}
else {
if (resultPAge?.grantedPermissions.contains("manage_pages"))! {
if resultPAge?.token == nil {
print("error")
}
else {
let graphRequest = FBSDKGraphRequest(graphPath: "/me/accounts", parameters: ["fields" : "access_token, name, id"])
let connection = FBSDKGraphRequestConnection()
print("connect")
connection.add(graphRequest, completionHandler: { (connection, result, error) -> Void in
if let dataRecup = result as? [String:AnyObject] {
if let idPage = dataRecup["data"] as? [String:AnyObject] {
if let nomPage = idPage["name"] as? String {
print("Resultat : \(nomPage)")
}
}
}
})
}
}
}
}
}
编辑:
我刚刚删除了graphpath的第一个/,但是出现了一个新问题,我从页面检索信息(accessToken、id和名称),但是没有引号!应用程序无法将其恢复为JSON格式。您需要通过
/me/accounts
获取用户管理的页面的访问令牌。您好,谢谢您的回答,但我已经尝试过了,我没有答案。它不会改变任何事情。我没有返回。然后,我建议您对用户令牌进行调试输出,然后使用该输出,首先在Graph API Explorer中尝试该请求,以查看权限或代码是否有问题。我有以下错误:“-canOpenURL:URL失败:”fbauth2:/“-错误:”操作无法完成。(OSStatus错误-10814。)““如果您只请求access_token
字段,那么您将只获得该字段(加上页面id)-但是您试图通过页面名称的外观来访问此处的页面名称,因此您也需要请求该字段。