我想获取公开的Facebook信息,例如
https://graph.facebook.com/http://www.google.com
当我做的时候
@graph = Koala::Facebook::API.new
@graph.get_object("http://www.google.com")
我得到了
Koala::Facebook::AuthenticationError: type: OAuthException, code: 2500, message: Unknown path components: /www.google.com [HTTP 400]
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/koala-1.6.0/lib/koala/api/graph_api.rb:470:in `block in graph_call'
为什么这不起作用?如果此类请求不需要访问令牌,为什么需要身份验证?
答案 0 :(得分:1)
您需要转义网址中的某些字符,如下所示:
@graph.get_object("http%3A%2F%2Fwww.google.com")
或者您可以使用CGI::escape
方法为您进行转义。
@graph.get_object(CGI::escape("http://www.google.com"))
答案 1 :(得分:0)
通常,错误代码2500是权限被拒绝(您需要具有访问令牌),但是当您尝试访问公共信息时,这会让您感到困惑。访问数据时尝试使用应用程序访问令牌。对于生成 APP access_token ,请向此网址发送GET请求
GET https://graph.facebook.com/oauth/access_token? CLIENT_ID = YOUR_APP_ID &安培; client_secret = YOUR_APP_SECRET &安培; grant_type = client_credentials
我希望这会有所帮助。否则我会有更多的想法。