>백엔드 개발 >PHP 튜토리얼 >PHP를 QQ 인터페이스에 연결하여 소셜 플랫폼을 구현하는 구현 방법 분석

PHP를 QQ 인터페이스에 연결하여 소셜 플랫폼을 구현하는 구현 방법 분석

WBOY
WBOY원래의
2023-07-10 14:36:17835검색

소셜 플랫폼 구현을 위해 PHP와 QQ 인터페이스를 연결하는 구현 방법 분석

오늘날 소셜 미디어 시대에 사람들은 소통과 공유를 위해 소셜 플랫폼에 점점 더 의존하고 있습니다. 중국에서 가장 인기 있는 소셜 플랫폼 중 하나인 QQ는 많은 웹사이트와 애플리케이션의 필수 기능이 되었습니다. 이 기사에서는 PHP를 사용하여 QQ 인터페이스를 연결하여 소셜 플랫폼을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다.

  1. QQ인터넷 개발자 계정 만들기

먼저 QQ 오픈 인터페이스를 사용하기 위해서는 QQ인터넷 개발자 계정을 신청해야 합니다. QQ 인터넷 공식 웹사이트를 방문하여 클릭하여 개발자 계정을 신청하고 관련 단계에 따라 등록할 수 있습니다.

  1. 애플리케이션 만들기

QQ인터넷의 개발자 배경에서 새로운 애플리케이션을 만들 수 있습니다. 애플리케이션을 만드는 과정에서 애플리케이션 이름, 웹사이트 도메인 이름 등과 같은 일부 관련 정보를 입력해야 합니다. 성공적으로 생성되면 앱 ID와 앱 키를 받게 되며, 이 두 매개변수는 후속 코드에서 사용됩니다.

  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를 두 번째 단계에서 얻은 앱 ID로 바꿔야 합니다. >리디렉션 URL을 리디렉션 URL로 사용하면 $scope는 획득해야 하는 권한에 해당하고 $state는 무작위로 생성된 상태 코드입니다. 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

    Get Access Token
    1. 사용자가 인증한 후 QQ 서버는 우리가 지정한 $redirectUri로 리디렉션되고 인증 코드 매개변수를 가져옵니다. 리디렉션된 페이지에서 이 인증 코드를 수신 및 처리하고 이를 사용하여 액세스 토큰을 얻을 수 있습니다. 다음은 액세스 토큰을 얻기 위한 코드 예입니다.
    $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'];

    위 코드에서 Your App ID를 두 번째 단계에서 얻은 앱 ID인 Your App Key로 바꿔야 합니다. 를 획득한 앱 키로 바꾸고 <code>리디렉션 URL을 리디렉션 URL로 바꿉니다.

    사용자의 Open ID 및 기타 정보 가져오기

    액세스 토큰을 얻은 후 이 토큰을 사용하여 사용자의 Open ID 및 기타 정보를 얻을 수 있습니다. 다음은 사용자 정보 획득을 위한 코드 예시입니다.

    rrreee

    위 코드에서는 앞서 획득한 Access Token과 Authorization Code를 이용하여 QQ에서 제공하는 API에 접속하여 사용자의 Open ID 및 기타 정보를 획득합니다.

    위 단계를 통해 PHP를 사용하여 QQ 인터페이스에 연결하여 소셜 플랫폼을 구현하는 기능을 실현할 수 있습니다. 물론 위의 코드는 단순한 예시일 뿐 실제 프로젝트에서는 더 많은 처리와 디버깅이 필요할 수 있습니다.

      요약
    1. 본 글에서는 PHP를 사용하여 QQ 인터페이스를 연결하여 소셜 플랫폼을 구현하는 구현 방법을 소개합니다. 개발자 계정 신청, 애플리케이션 생성, 점프 URL 획득, 액세스 토큰 획득 및 사용자 정보 획득을 통해 QQ 인터페이스 도킹을 완료하고 소셜 플랫폼의 기능을 실현할 수 있습니다. 이 기사가 모든 사람이 PHP를 이해하고 사용하여 QQ 인터페이스에 연결하는 데 도움이 되기를 바랍니다.
    2. 참고 자료:
    https://wiki.connect.qq.com/oauth2-0🎜🎜https://wiki.connect.qq.com/get_access_token🎜🎜https://wiki.connect.com /사용자 OpenID_OAuth2.0 가져오기🎜🎜

위 내용은 PHP를 QQ 인터페이스에 연결하여 소셜 플랫폼을 구현하는 구현 방법 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.