保姆式手把手教你接入易班开放平台接入个人外部网站

引言

这段时间因为开发需求需要在易班开放平台上接入外部网站,可在上线后从易班平台访问。其中有许多需要定性要求,比如网站的接入、调用易班官方api登录授权等。


本教程为从易班接入外部网站,但易班其余外部客户端如应用等接入方法大同小异


一、查看官方文档说明

接入易班的概述与目的:

网站接入是易班针对第三方网站提供的社会化网络接入方案。接入易班授权让您的网站支持用易班帐号登录, 让用户方便的分享网站内容、在网站上关注您的易班动态,快速为网站增加用户、流量和推广度。

如何创建网站接入

见官方指南图

官方指南看似很简单,但实际开发过程有许多不为人知的“坑”,其中最大的坑就是授权机制。而授权却又是接入易班的基础,易班的大多api都需要验证用户身份的。

官方说明如下

对于没有接触过授权登录验证的小伙伴来说,可能会有点一头雾水。没关系,现将接入方法真手把手式传授与大家。废话不多说,下面进入正题。


准备工作

1.进入易班官方开放平台

2.申请为易班开发者

提交开发者申请后,需要等待易班工作人员2~3个工作日的审核。

3.创建外部网站

进入管理中心并创建网站接入。

根据要求填写网站信息

* logo可以暂时另存为参考实例使用,后期再更换。

本地测试网址可以暂时参考如上填写,后期上线再更换服务器地址。

http://localhost:8080/YiBanTest/

注意此处的回调地址,参考如上填写。


4.下载官方sdk

易班开放平台wiki文档 (yiban.cn)

这里我们因为是JavaWeb项目,所以需要的是Java SDK包,下载到本地并解压。


正式开干

1.导入/引入sdk包

我们先创建一个JavaWeb项目作为模板,项目的创建安与配置这里就不过多赘述了。

本项目是使用Maven构建的。

将解压出来的SDK文件的此jar包导入项目

并将jar包添加到项目中。

POM文件添加jar包依赖(注意路径)

<!--引入易班SDK-->
    <dependency>
      <groupId>cn.yiban</groupId>
      <artifactId>open</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${pom.basedir}/src/main/webapp/WEB-INF/lib/YBOpenApi.jar</systemPath>
    </dependency>

项目结构如下图

2.定义数据类

AppContext.java
/**
 * 易班接入数据类
 */

public class AppContext {

    public static final String APP_ID = "785a5bb5621e65fd";

    public static final String APP_SEC = "2829bb519ec1269j799b4be87e269";

    public static final String WEB_SITE = "http://127.0.0.1:8080/YiBanTest";

    public static final String BACK_URL = "http://127.0.0.1:8080/YiBanTest/auth";

    public static final String KEY_CODE = "code";

    public static final String KEY_TOKEN = "access_token";

    public static final String KEY_USER = "user";

    public static final String KEY_USER_ID = "user_id";

    public static String ACCESS_TOKEN = "access_token";

}

其中,APP_ID、APP_SEC可在易班创建的网站信息处查看,分别复制赋值即可。


3.init

本步骤实现易班的接入与授权,创建InitController。

获取授权前,先发送请求获取code。

@RequestMapping("/init")
    public void init(HttpServletResponse response) throws IOException {

        Authorize au = new Authorize(AppContext.APP_ID, AppContext.APP_SEC);
        String url = au.forwardurl(AppContext.BACK_URL, "QUERY", Authorize.DISPLAY_TAG_T.MOBILE);
        response.sendRedirect(url);
    }

此请求会根据你的APP_ID、APP_SEC发送请求,请求成功的话返回一个code状态码,无异常的话会进入回调地址。


4.auth

申请授权并获取code、access_token、userid、expires等。

@RequestMapping("/auth")
    public void auth(HttpServletResponse response, HttpServletRequest request) throws IOException {

        //auth这个接口传入APP_ID以及回调地址=http://127.0.0.1:8080/YiBanTest/auth以获取code以及access_token等信息

        //获取code失败,跳转到error.jsp
        String code = request.getParameter(AppContext.KEY_CODE);
        if (code == null || code.equals("")) {
            response.sendRedirect("error.jsp");
        }

        //获取code成功
        System.out.println("code:" + code);


        Authorize authorize = new Authorize(AppContext.APP_ID, AppContext.APP_SEC);
        String text = authorize.querytoken(code, AppContext.BACK_URL);

        System.out.println(text);
        JSONObject json = JSON.parseObject(text);
        
        //获取ACCESS_TOKEN
        AppContext.ACCESS_TOKEN = json.getString(AppContext.KEY_TOKEN);

        User user = new User(AppContext.ACCESS_TOKEN);
        HttpSession session = request.getSession();
        session.setAttribute(AppContext.KEY_USER, user);

        //重定向到指定网页
        response.sendRedirect("index.jsp");

    }

具体获取的ACCESS_TOKEN,Key的有啥作用(反正很大作用)这里也不作赘述,可自行百度。


4.验证

到此,大部分工作已经完成,可以进行测试。

修改tomcat配置如下

启动Tomcat,并访问http://localhost:8080/YiBanTest/init测试

授权后跳转指定页面index.jsp

至此,易班的外部网站接入已经完成。剩下的工作便与日常Java Web应用开发一致了。

别忘了的是,接入的外部网站需要上线的话,还得修改易班网站信息的地址、以及配置类中的地址。

完整项目gitee链接易班接入测试: 易班接入测试仓库 (gitee.com)

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
感谢您的提问!以下是手把手您搭建属于自己的PyQt5-YOLOv5目标检测平台的保姆级程: 1. 安装Anaconda 首先,您需要下载并安装Anaconda,Anaconda是一个 Python 数据科学平台,包含了许多常用的数据科学包,如Numpy、Pandas等。 2. 创建一个虚拟环境 在安装了Anaconda之后,您需要创建一个虚拟环境,以便隔离开发环境和系统环境。您可以在命令行中输入以下命令来创建一个名为yolov5的虚拟环境: ``` conda create -n yolov5 python=3.8 ``` 其中,“yolov5”是您的虚拟环境的名称,您可以根据自己的需要进行更改。 3. 激活虚拟环境 创建完虚拟环境之后,您需要激活它,以便在环境中进行开发。在命令行中输入以下命令来激活yolov5环境: ``` conda activate yolov5 ``` 4. 安装PyQt5和YOLOv5 在激活了虚拟环境之后,您需要安装PyQt5和YOLOv5。您可以在命令行中输入以下命令来安装它们: ``` pip install PyQt5 pip install yolov5 ``` 5. 创建PyQt5界面 在安装了PyQt5之后,您可以使用Qt Designer创建一个PyQt5界面。Qt Designer是一个可视化的界面设计工具,可以让您轻松地创建PyQt5界面。 6. 使用YOLOv5进行目标检测 在安装了YOLOv5之后,您可以使用它进行目标检测。您可以在Python脚本中使用以下代码: ```python import torch from yolov5.models.experimental import attempt_load from yolov5.utils.torch_utils import select_device device = select_device('cpu') model = attempt_load('yolov5s.pt', map_location=device) img = torch.zeros((1, 3, 640, 640), device=device) pred = model(img) print(pred) ``` 其中,“yolov5s.pt”是YOLOv5的预训练模型,您可以在YOLOv5的GitHub页面上下载它。 7. 将PyQt5界面与YOLOv5集成 最后,您需要将PyQt5界面与YOLOv5集成起来,以便您可以在界面上使用YOLOv5进行目标检测。您可以在Python脚本中使用以下代码: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtGui import QPixmap from yolov5.models.experimental import attempt_load from yolov5.utils.torch_utils import select_device class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('PyQt5-YOLOv5目标检测平台') self.setGeometry(100, 100, 800, 600) self.label = QLabel(self) self.label.setGeometry(50, 50, 640, 480) self.show() if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() sys.exit(app.exec_()) ``` 这段代码创建了一个名为“PyQt5-YOLOv5目标检测平台”的窗口,并在窗口上添加了一个标签。您可以使用这个标签来显示检测到的目标。 以上就是手把手您搭建属于自己的PyQt5-YOLOv5目标检测平台的保姆级程。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值