ホームページ > バックエンド開発 > PHPチュートリアル > PHPとQQインターフェースを接続してソーシャルプラットフォームを実装する実装方法の分析

PHPとQQインターフェースを接続してソーシャルプラットフォームを実装する実装方法の分析

WBOY
リリース: 2023-07-10 14:38:01
オリジナル
843 人が閲覧しました

ソーシャル プラットフォームを実装するための PHP ドッキング QQ インターフェイスの実装方法の分析

今日のソーシャル メディア時代において、人々はコミュニケーションと共有のためにソーシャル プラットフォームにますます依存しています。中国で最も人気のあるソーシャル プラットフォームの 1 つである QQ は、多くの Web サイトやアプリケーションにとって必須の機能となっています。この記事では、PHP を使用して QQ インターフェイスに接続し、ソーシャル プラットフォームを実装する方法と、対応するコード例を紹介します。

  1. QQ インターネット開発者アカウントを取得する

まず、QQ のオープン インターフェイスを使用できるように、QQ インターネット開発者アカウントを申請する必要があります。 QQ Internet の公式 Web サイトにアクセスし、クリックして開発者アカウントを申請し、関連する手順に従って登録します。

  1. アプリケーションの作成

QQ Internet の開発者バックエンドで、新しいアプリケーションを作成できます。アプリケーションを作成するプロセスでは、アプリケーション名、Web サイトのドメイン名など、いくつかの関連情報を入力する必要があります。作成が成功すると、アプリ ID とアプリ キーを取得します。これら 2 つのパラメーターは後続のコードで使用されます。

  1. 認可された URL を取得する

ユーザーがログインする前に、ユーザーがログインして認可を取得できるようにガイドする認可された URL を取得する必要があります。 PHP では、次のコードを使用して承認された URL を取得できます:

$appId = 'Your App ID';
$redirectUri = 'Your Redirect URL';
$scope = 'get_user_info,add_share';
$state = md5(uniqid(rand(), true));

$authUrl = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=".$appId."&redirect_uri=".$redirectUri."&scope=".$scope."&state=".$state;
ログイン後にコピー

上記のコードでは、Your App ID を 2 番目のステップで取得した App ID に置き換える必要があります。 Your Redirect URL は当社のリダイレクト URL に置き換えられ、$scope は取得する必要がある権限に対応し、$state はランダムに生成されたステータス コードです。

  1. アクセス トークンの取得

ユーザーが認証すると、QQ サーバーは指定された $redirectUri にリダイレクトし、認証コード パラメーターを取得します。リダイレクトされたページでこの認証コードを受信して​​処理し、それを使用してアクセス トークンを取得できます。以下は、アクセス トークンを取得するコード例です。

$appId = 'Your App ID';
$appKey = 'Your App Key';
$redirectUri = 'Your Redirect URL';
$code = $_GET['code'];

$tokenUrl = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=".$appId."&client_secret=".$appKey."&code=".$code."&redirect_uri=".$redirectUri;

$response = file_get_contents($tokenUrl);
if (strpos($response, "callback") !== false) {
    $lpos = strpos($response, "(");
    $rpos = strrpos($response, ")");
    $response  = substr($response, $lpos + 1, $rpos - $lpos -1);
    $msg = json_decode($response);
    if (isset($msg->error)) {
        echo "<h3>error:</h3>" . $msg->error;
        echo "<h3>msg  :</h3>" . $msg->error_description;
        exit;
    }
}

$params = array();
parse_str($response, $params);

$accessToken = $params['access_token'];
ログイン後にコピー

上記のコードでは、Your App ID を 2 番目のステップで取得したアプリ ID に置き換える必要があります。 App Key を取得した App Key に置き換え、Your Redirect URL をリダイレクト URL に置き換えます。

  1. ユーザーの Open ID およびその他の情報を取得する

アクセス トークンを取得した後、このトークンを使用してユーザーの Open ID およびその他の情報を取得できます。以下はユーザー情報を取得するコード例です。

$openIdUrl = "https://graph.qq.com/oauth2.0/me?access_token=".$accessToken;

$response = file_get_contents($openIdUrl);
if (strpos($response, "callback") !== false) {
    $lpos = strpos($response, "(");
    $rpos = strrpos($response, ")");
    $response  = substr($response, $lpos + 1, $rpos - $lpos -1);
}

$userInfoUrl = "https://graph.qq.com/user/get_user_info?oauth_consumer_key=".$appId."&access_token=".$accessToken."&openid=".$response."&format=json";

$userInfoResponse = file_get_contents($userInfoUrl);
$userInfo = json_decode($userInfoResponse, true);

$openId = $userInfo['openid'];
$nickname = $userInfo['nickname'];
$avatar = $userInfo['figureurl_qq_2'];
ログイン後にコピー

上記のコードでは、先ほど取得したアクセストークンと認可コードを利用して、QQ が提供する API にアクセスし、ユーザーの Open ID などの情報を取得しています。

上記の手順により、PHP を使用して QQ インターフェイスに接続し、ソーシャル プラットフォームを実装する機能を実現できます。もちろん、上記のコードは単なる例であり、実際のプロジェクトではさらに多くの処理とデバッグが必要になる場合があります。

概要

この記事では、PHP を使用して QQ インターフェースを接続し、ソーシャル プラットフォームを実装する実装方法を紹介します。開発者アカウントの申請、アプリケーションの作成、ジャンプURLの取得、アクセストークンの取得、ユーザー情報の取得を行うことで、QQインターフェースとの接続が完了し、ソーシャルプラットフォームの機能を実現することができます。この記事が、誰もが PHP を理解し、QQ インターフェイスに接続するために PHP を使用する際に役立つことを願っています。

参考資料:

  1. https://wiki.connect.qq.com/oauth2-0
  2. https://wiki.connect.qq.com / Get_access_token
  3. https://wiki.connect.qq.com/Get userOpenID_OAuth2.0

以上がPHPとQQインターフェースを接続してソーシャルプラットフォームを実装する実装方法の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート