2

我想获取公开的 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'

为什么这不起作用?如果此类请求不需要访问令牌,为什么需要身份验证?

4

2 回答 2

1

您需要转义 url 中的一些字符,如下所示:

@graph.get_object("http%3A%2F%2Fwww.google.com")

或者您可以使用该CGI::escape方法为您进行转义。

@graph.get_object(CGI::escape("http://www.google.com"))
于 2013-08-10T21:09:53.597 回答
0

通常错误代码 2500 是权限被拒绝(您需要有一个访问令牌),但是当您尝试访问公共信息时它会令人困惑。访问数据时尝试使用应用程序访问令牌。为生成APP access_token向此 URL 发送 GET 请求

获取https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID &client_secret=YOUR_APP_SECRET &grant_type=client_credentials

我希望这将有所帮助。否则我有更多的想法。

于 2013-08-04T21:12:25.333 回答