1

私はいつも誰かのウェブサイトへの Facebook と Twitter のログインについて読んでいます。これらのサービスの 1 つを使用した統合は問題ありませんが、私の質問は、1 人のユーザーが両方の API にアクセスするにはどうすればよいかということです。

例:

ユーザーは自分の Web サイトにログインしています (アクティブなセッション)。今、彼はどういうわけか、Facebook や Twitter で彼のユーザーの詳細などへのアクセスを許可する必要があります。どうすればそれを理解できますか?アクセス トークン (oAuth) を取得するためにログインするたびに、Facebook または Twitter の資格情報を入力する必要はありません。Facebook や Twitter の API とやり取りできるように、Web サイトのログインを使用した後に自分の oAuth ユーザー アクセス トークンを取得するにはどうすればよいですか。

これは正しいです? 自分のウェブサイトから oAuth トークンを受け取る

よろしくお願いします。

4

2 に答える 2

0

フェイスブック

誰かが 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 に答える
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 に答える