gpt4 book ai didi

ruby-on-rails - 使用 fb_graph Ruby gem 从 Facebook 检索好友位置

转载 作者:数据小太阳 更新时间:2023-10-29 08:54:05 27 4
gpt4 key购买 nike

我正在尝试使用 gem 检索用户的所有 friend 的位置:fb_graph . (版本 1.7.2)

我的权限是:publish_stream,read_friendlists,offline_access,friends_location,user_location

我已经对用户进行了身份验证并存储了离线访问 token 和他们的 facebook id。

user = User.find_by_email("person@email.com")
facebook_user = FbGraph::User.fetch(user.facebook_identifier, :access_token => user.facebook_access_token)
facebook_user.friends.map(&:location) => [nil, nil...]

当我在 Facebook 中检查权限时,它说我可以访问 friend 位置:

http://grab.by/a1Qm

我的问题是,当我尝试获取 friend 的位置时,它总是返回 nil。我的权限设置正确,我知道每个人的位置都不应该为零。

有没有人对如何获取好友位置有任何建议或指示?

谢谢!

最佳答案

所以我能够获得我需要的信息。你必须在每次调用后调用fetch,所以

user = User.find_by_email("email@domain.com")

facebook_user = FbGraph::User.fetch(user.facebook_identifier, :access_token => user.facebook_access_token)
friends = facebook_user.fetch.friends
friends.each do |friend|
location = friend.fetch.location
puts location.try(:name)
end

这为我提供了我想要的数据,但是迭代所有内容并为每条数据单独调用的速度相当慢,因此我重构为仅使用直接 FQL 返回我需要的所有数据。

friend_data = FbGraph::Query.new("SELECT uid, first_name, last_name, pic_square, current_location FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1='#{user.facebook_identifier}')").fetch(user.facebook_access_token)

关于ruby-on-rails - 使用 fb_graph Ruby gem 从 Facebook 检索好友位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5864876/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com