1

我一直在阅读有关某人网站的 Facebook 和 Twitter 登录信息。使用这些服务之一的集成是可以的,但我的问题是如何为一个用户访问这两个 API。

例子:

用户已登录我的网站(活动会话)。现在他必须以某种方式允许我访问他在 Facebook 和 twitter 上的用户详细信息等。我如何意识到这一点?我不希望他/她每次登录以获取访问令牌 (oAuth) 时都输入他的 facebook 或 twitter 凭据。使用我的网站登录后如何获取自己的 oAuth 用户访问令牌,以便我可以与 Facebook 和 Twitter 的 API 进行交互。

这个对吗? 从我的网站接收 oAuth 令牌

非常感谢你,如果你能帮助我。

4

2 回答 2

0

每个单独的 API 都需要一个弹出窗口进行身份验证,该弹出窗口将重定向到适当的 api 进行授权,然后在您获得授权后的令牌后重定向回您的弹出窗口。

然后,您将获得一个令牌,您可以将其传递回调用页面“window.opener”,并通过在主页上调用 Javascript 函数将该 API 的令牌存储在 Javascript 变量中。

window.opener.getInstagramData("self", oauth_token);

每个身份验证都需要有自己的令牌,并且需要是用户应该单击的按钮。

我正在使用这种方法来获取 Facebook、Twitter、LinkedIn Foursquare 和 GooglePlus 帐户信息。

希望这可以帮助。

于 2013-04-07T21:28:13.547 回答
0

Facebook

当有人登录 Facebook 帐户时,他们会一直保持登录状态,直到他们主动退出。

对此进行测试的方法是:

FB.getLoginStatus(function(response){
    if response.status === 'connected'{
        // The user is logged in
        var access_token = response.authResponse.accessToken;
        // Do whatever you need to do
    } else {
        // Get the user to log in
    }
});

有关更多详细信息,请参见此处: https ://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

推特

对于 Twitter,这个过程稍微复杂一些,但如果您只想显示推文,请考虑Web Intents

否则,请按照以下步骤操作: https ://dev.twitter.com/docs/auth/3-legged-authorization

这两个平台都能够检查用户是否首先登录,因此您不必担心有人每次使用您的网站时都必须登录。但是,您不能在两个站点上使用相同的 oAuth 令牌 - 您必须为每个站点获取一个单独的令牌。

于 2012-09-12T12:04:31.387 回答