API 版本 1.1

本文档说明了如何注册,配置和开发您的应用,以便您可以成功使用我们的API

创建应用

为了使您的应用访问我们的API,您必须使用 应用面板. 注册会创建一个应用ID,该ID可以让我们知道您是谁,从而帮助我们将您的应用与其他应用区分开来.

  1. 您将需要创建一个新的应用程序 新建应用
  2. 创建应用后,您将获得 app_idapp_secret
登录使用

使用系统登录是人们创建帐户并登录到您的应用程序的快速便捷的方法。 我们的“登录方式”系统支持两种方案,即身份验证和请求访问人员数据的权限。 您可以仅使用Login With系统进行身份验证,也可以同时使用身份验证和数据访问.

  1. 开始OAuth登录过程,您需要像这样使用您应用的链接:
    <a href="http://sngine.bj.themez.cc/api/oauth?app_id=YOUR_APP_ID">Log in With Sngine中文版</a>

    用户将被重定向到这样的登录页面

  2. 用户接受您的应用后,用户将重定向到您的应用通过 auth_key 像这样:
    https://mydomain.com/my_redirect_url.php?auth_key=AUTH_KEY
    这个 auth_key 仅在一次使用时有效,因此一旦使用,您将无法再次使用它并生成新代码,您将需要将用户重定向到再次通过链接登录.
访问令牌

获得应用程序的用户批准后,登录窗口将返回 auth_key 这意味着现在您准备好从我们的API检索数据并开始此过程,您将需要授权您的应用并获取 access_token 您可以按照我们的步骤来学习如何获得它.

  1. 要获取访问令牌,请像下面这样向以下端点发出HTTP GET请求:
    <?php
    $app_id = "YOUR_APP_ID"; // your app id
    $app_secret = "YOUR_APP_SECRET"; // your app secret
    $auth_key = $_GET['auth_key']; // the returned auth key from previous step
    
    $get = file_get_contents("http://sngine.bj.themez.cc/api/authorize?app_id=$app_id&app_secret=$app_secret&auth_key=$auth_key");
    
    $json = json_decode($get, true);
    if(!empty($json['access_token'])) {
        $access_token = $json['access_token']; // your access token
    }
    ?>
    这个 access_token 仅在1小时内有效,一旦无效,您将通过重新引导用户到具有链接的登录名来生成新的.
APIs

一旦获得 access_token 现在,您可以通过支持以下参数的HTTP GET请求从我们的系统中检索信息

端点 描述
api/get_user_info

获取用户信息

您可以像这样检索用户信息

if(!empty($json['access_token'])) {
   $access_token = $json['access_token']; // your access token
   $get = file_get_contents("http://sngine.bj.themez.cc/api/get_user_info?access_token=$access_token");
}

结果会是:

{
    "user_info": {
        "user_id": "",
        "user_name": "",
        "user_email": "",
        "user_firstname": "",
        "user_lastname": "",
        "user_gender": "",
        "user_birthdate": "",
        "user_picture": "",
        "user_cover": "",
        "user_registered": "",
        "user_verified": "",
        "user_relationship": "",
        "user_biography": "",
        "user_website": ""
    }
}