如何获取包含图像和视频以及文本的 Facebook 提要?
How to get facebook feed with images and videos along with text?
我想在 ios 应用程序中获取记录的用户提要,我尝试使用图表 api 图表 api returns 数据,没问题。
但是当我将数据交叉检查到 facebook 用户页面上的实际 facebook feed 时,发现了一些问题:
- 如果 post 只有文本而不是消息键上的文本,以及 post id,
- 如果 post 有文本 image/video 只有文本来自消息键
- 如果 post 只有 image/video 而不是消息密钥。
我知道消息密钥仅用于 description/text 但图像?有什么方法可以获取与 facebook 上显示的内容完全相同的 feed。
我试过下面的代码:
待登录
FBSDKLoginManager().logOut()
FBSDKLoginManager().logIn(withReadPermissions: ["email", "public_profile", "user_posts"], from: self) { (result, error) in
if error != nil {
print("failed to start graph request: \(String(describing: error))")
return
}
// self.getPosts()//old
self.getFBPost()
}
获取FBPost
func getFBPost() {
FBSDKGraphRequest(graphPath: "/me/feed", parameters: nil)?.start(completionHandler: { (fbConnectionErr, result, error) in
// print(fbConnectionErr)
print(result)
//print(error)
})
}
像这样的回复:
{
"data": [
{
"message": "https://medium.com/frame-io-engineering/huge-images-small-phone-15414b30d39e",
"created_time": "2018-12-03T13:59:01+0000",
"id": "68288174406_653966194"
},
{
"created_time": "2018-12-01T13:43:02+0000",
"id": "68288174406_6528518443724"
},
{
"message": "I love my Mom",
"created_time": "2018-11-30T13:27:38+0000",
"id": "68288174406_652289420323"
}
}
如您所见,第二个 post 只有 ID 和创建时间,而我们在 facebook 页面上查看这个 post 有图片,第三个 post 有视频但是只有来自图表 api
的文本
请指导我做错了什么?或者我应该怎么做才能在 json formate 中获取与 facebook 上显示的一样的整个提要数据?
您没有在 API 调用中请求任何字段,因此您只会获得默认字段。它被称为 "Declarative Fields" (/me?fields=message,created_time,...
) 并随 v2.4 一起提供:
我已经阅读了@luschn 分享的文档。并得到了解决方案我忘记了@luschn建议我的声明字段,现在下面给出了解决方案:只需要改变图表api,
FBSDKGraphRequest(graphPath: "/me/feed", parameters: ["fields":"created_time,attachments,type,message"])?.start(completionHandler: { (fbConnectionErr, result, error) in
print(fbConnectionErr)
print(result)
print(error)
let re = result as? [String: Any]
let data = re?["data"] as! [[String: Any]]
for dict in data {
print(dict)
}
})
或
如果您有页面 ID,您可以使用下面的 url 来点击获取 api.
https://graph.facebook.com/(api_version)/(page_id)?fields=feed{created_time,附件,消息}&access_token=(token_id)
我想在 ios 应用程序中获取记录的用户提要,我尝试使用图表 api 图表 api returns 数据,没问题。 但是当我将数据交叉检查到 facebook 用户页面上的实际 facebook feed 时,发现了一些问题:
- 如果 post 只有文本而不是消息键上的文本,以及 post id,
- 如果 post 有文本 image/video 只有文本来自消息键
- 如果 post 只有 image/video 而不是消息密钥。
我知道消息密钥仅用于 description/text 但图像?有什么方法可以获取与 facebook 上显示的内容完全相同的 feed。
我试过下面的代码:
待登录
FBSDKLoginManager().logOut()
FBSDKLoginManager().logIn(withReadPermissions: ["email", "public_profile", "user_posts"], from: self) { (result, error) in
if error != nil {
print("failed to start graph request: \(String(describing: error))")
return
}
// self.getPosts()//old
self.getFBPost()
}
获取FBPost
func getFBPost() {
FBSDKGraphRequest(graphPath: "/me/feed", parameters: nil)?.start(completionHandler: { (fbConnectionErr, result, error) in
// print(fbConnectionErr)
print(result)
//print(error)
})
}
像这样的回复:
{
"data": [
{
"message": "https://medium.com/frame-io-engineering/huge-images-small-phone-15414b30d39e",
"created_time": "2018-12-03T13:59:01+0000",
"id": "68288174406_653966194"
},
{
"created_time": "2018-12-01T13:43:02+0000",
"id": "68288174406_6528518443724"
},
{
"message": "I love my Mom",
"created_time": "2018-11-30T13:27:38+0000",
"id": "68288174406_652289420323"
}
}
如您所见,第二个 post 只有 ID 和创建时间,而我们在 facebook 页面上查看这个 post 有图片,第三个 post 有视频但是只有来自图表 api
的文本请指导我做错了什么?或者我应该怎么做才能在 json formate 中获取与 facebook 上显示的一样的整个提要数据?
您没有在 API 调用中请求任何字段,因此您只会获得默认字段。它被称为 "Declarative Fields" (/me?fields=message,created_time,...
) 并随 v2.4 一起提供:
我已经阅读了@luschn 分享的文档。并得到了解决方案我忘记了@luschn建议我的声明字段,现在下面给出了解决方案:只需要改变图表api,
FBSDKGraphRequest(graphPath: "/me/feed", parameters: ["fields":"created_time,attachments,type,message"])?.start(completionHandler: { (fbConnectionErr, result, error) in
print(fbConnectionErr)
print(result)
print(error)
let re = result as? [String: Any]
let data = re?["data"] as! [[String: Any]]
for dict in data {
print(dict)
}
})
或 如果您有页面 ID,您可以使用下面的 url 来点击获取 api.
https://graph.facebook.com/(api_version)/(page_id)?fields=feed{created_time,附件,消息}&access_token=(token_id)