使用 Koala 在 Facebook 中获取用户访问令牌
Getting a user access token in facebook using Koala
我正在写一个简单的程序,自动创建一个facebook
post。据我了解,我需要一个 "user access token" 来
做这个。我正在使用考拉(但其他人的理念相似
库)。无论如何,我创建了一个新的 OAuth 帐户:
@oauth = Koala::Facebook::OAuth.new(app_id, app_secret, callback_url)
考拉说明变得有些不清楚。接下来的两行是:
@oauth.url_for_oauth_code # generate authenticating URL
@oauth.get_access_token(code) # fetch the access token once you have the code
"code"变量从何而来?它没有在
文档。此外,"get_access_token" 方法是否获得“应用程序
访问令牌”或 "user_access_token"?方法名称不明确。
我尝试转到 [url_for_oauth_code] 方法给我的 url,
但它没有给我任何代码! "code"变量从何而来?
在 Koala 的首页上,它声明您需要完成 http://developers.facebook.com/docs/authentication/ 中描述的 OAuth 流程(这是旧的 link,但其中的内容有效)
具体
@oauth.url_for_oauth_code
https://github.com/arsduo/koala/blob/master/lib/koala/oauth.rb#L85
生成一个 URL,您需要根据回购将用户引导至它,类似于
https://www.facebook.com/dialog/oauth?
client_id={app-id}&
redirect_uri={redirect-uri}&
scope=email
根据文档 https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.2#login,当省略 response_type
时,默认响应类型为 code
。所以上面相当于
https://www.facebook.com/dialog/oauth?
client_id={app-id}&
response_type=code&
redirect_uri={redirect-uri}&
scope=email
因此在重定向到 redirect-uri
时,此 URL 将附加您必须处理然后提供给
的代码参数
@oauth.get_access_token(code)
访问令牌是用户访问令牌。
我正在写一个简单的程序,自动创建一个facebook post。据我了解,我需要一个 "user access token" 来 做这个。我正在使用考拉(但其他人的理念相似 库)。无论如何,我创建了一个新的 OAuth 帐户:
@oauth = Koala::Facebook::OAuth.new(app_id, app_secret, callback_url)
考拉说明变得有些不清楚。接下来的两行是:
@oauth.url_for_oauth_code # generate authenticating URL
@oauth.get_access_token(code) # fetch the access token once you have the code
"code"变量从何而来?它没有在 文档。此外,"get_access_token" 方法是否获得“应用程序 访问令牌”或 "user_access_token"?方法名称不明确。 我尝试转到 [url_for_oauth_code] 方法给我的 url, 但它没有给我任何代码! "code"变量从何而来?
在 Koala 的首页上,它声明您需要完成 http://developers.facebook.com/docs/authentication/ 中描述的 OAuth 流程(这是旧的 link,但其中的内容有效)
具体
@oauth.url_for_oauth_code
https://github.com/arsduo/koala/blob/master/lib/koala/oauth.rb#L85 生成一个 URL,您需要根据回购将用户引导至它,类似于
https://www.facebook.com/dialog/oauth?
client_id={app-id}&
redirect_uri={redirect-uri}&
scope=email
根据文档 https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.2#login,当省略 response_type
时,默认响应类型为 code
。所以上面相当于
https://www.facebook.com/dialog/oauth?
client_id={app-id}&
response_type=code&
redirect_uri={redirect-uri}&
scope=email
因此在重定向到 redirect-uri
时,此 URL 将附加您必须处理然后提供给
@oauth.get_access_token(code)
访问令牌是用户访问令牌。