Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Analisis kaedah pelaksanaan menyambung PHP ke antara muka QQ untuk melaksanakan platform sosial

Analisis kaedah pelaksanaan menyambung PHP ke antara muka QQ untuk melaksanakan platform sosial

WBOY
WBOYasal
2023-07-10 14:36:17803semak imbas

Analisis kaedah pelaksanaan menghubungkan antara muka PHP ke QQ untuk melaksanakan platform sosial

Dalam era media sosial hari ini, orang ramai semakin bergantung pada platform sosial untuk komunikasi dan perkongsian. Sebagai salah satu platform sosial yang paling popular di China, QQ telah menjadi ciri yang mesti ada untuk banyak tapak web dan aplikasi. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menyambungkan antara muka QQ untuk melaksanakan platform sosial, dan memberikan contoh kod yang sepadan.

  1. Dapatkan akaun pembangun QQ Internet

Pertama sekali, kami perlu memohon akaun pembangun QQ Internet supaya kami boleh menggunakan antara muka terbuka QQ. Kami boleh melawati tapak web rasmi QQ Internet, klik untuk memohon akaun pembangun dan ikuti langkah yang berkaitan untuk mendaftar.

  1. Buat aplikasi

Di latar belakang pembangun QQ Internet, kami boleh mencipta aplikasi baharu. Dalam proses mencipta aplikasi, kita perlu mengisi beberapa maklumat yang berkaitan, seperti nama aplikasi, nama domain laman web, dll. Selepas penciptaan berjaya, kami akan mendapat ID Apl dan Kunci Apl, kedua-dua parameter ini akan digunakan dalam kod seterusnya.

  1. Dapatkan URL yang dibenarkan

Sebelum pengguna log masuk, kami perlu mendapatkan URL yang dibenarkan untuk membimbing pengguna log masuk dan mendapatkan kebenaran. Dalam PHP, kami boleh mendapatkan URL yang dibenarkan menggunakan kod berikut:

$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;

Dalam kod di atas, kami perlu menggantikan ID Apl Anda dengan ID Apl yang kami dapat pada langkah kedua, URL Ubah hala anda dengan URL ubah hala kami, $scope sepadan dengan kebenaran yang anda perlu dapatkan dan $state ialah kod status yang dijana secara rawak. Your App ID替换为我们在第二步中获得的App ID,Your Redirect URL替换为我们的重定向URL,$scope对应需要获取的权限,$state为随机生成的状态码。

  1. 获取Access Token

在用户进行授权后,QQ服务器会重定向到我们指定的$redirectUri并带上一个授权码参数。我们可以在重定向的页面接收并处理这个授权码,并使用它来获取Access Token。以下是获取Access Token的代码示例:

$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替换为我们在第二步中获得的App ID,Your App Key替换为我们获得的App Key,Your Redirect URL

    Dapatkan Token Akses
    1. Selepas pengguna memberi kebenaran, pelayan QQ akan mengubah hala ke $redirectUri yang kami tentukan dan membawa parameter kod kebenaran. Kami boleh menerima dan memproses kod kebenaran ini pada halaman yang diubah hala dan menggunakannya untuk mendapatkan Token Akses. Berikut ialah contoh kod untuk mendapatkan Token Akses:
    $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'];

    Dalam kod di atas, kami perlu menggantikan ID Apl Anda dengan ID Apl yang kami perolehi dalam langkah kedua, Kunci Apl Anda dengan Kunci Apl yang kami perolehi dan URL Ubah Hala Anda dengan URL ubah hala kami.

    Dapatkan ID Terbuka pengguna dan maklumat lain

    Selepas mendapatkan Token Akses, kami boleh menggunakan Token ini untuk mendapatkan ID Terbuka pengguna dan maklumat lain. Berikut ialah contoh kod untuk mendapatkan maklumat pengguna:

    rrreee

    Dalam kod di atas, kami menggunakan Token Akses dan kod kebenaran yang diperoleh sebelum ini untuk mendapatkan ID Terbuka pengguna dan maklumat lain dengan mengakses API yang disediakan oleh QQ.

    Melalui langkah di atas, kita boleh merealisasikan fungsi menggunakan PHP untuk menyambung ke antara muka QQ untuk melaksanakan platform sosial. Sudah tentu, kod di atas hanyalah contoh mudah, dan lebih banyak pemprosesan dan penyahpepijatan mungkin diperlukan dalam projek sebenar.

      Ringkasan
    1. Artikel ini memperkenalkan kaedah pelaksanaan menggunakan PHP untuk menyambung antara muka QQ untuk melaksanakan platform sosial. Dengan memohon akaun pembangun, mencipta aplikasi, mendapatkan URL lompat, mendapatkan Token Akses dan mendapatkan maklumat pengguna, kami boleh melengkapkan sambungan dengan antara muka QQ dan merealisasikan fungsi platform sosial. Saya harap artikel ini dapat memberikan sedikit bantuan untuk semua orang memahami dan menggunakan PHP untuk menyambung ke antara muka QQ.
    2. Rujukan:
    https://wiki.connect.qq.com/oauth2-0🎜🎜https://wiki.connect.qq.com/get_access_token🎜🎜https://wiki.connect.com /Dapatkan pengguna OpenID_OAuth2.0🎜🎜

Atas ialah kandungan terperinci Analisis kaedah pelaksanaan menyambung PHP ke antara muka QQ untuk melaksanakan platform sosial. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn