【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡

简介: 【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡

【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡

开发背景

在某软件交易平台看到有甲方提出这样的要求,于是说明这个东西有人关注,本系列文卓伊凡就做做试验,内容仅供学习试验提升研发技术,禁止用于任何商业用途,任何法律后果自负。

实战开发

首先我们思路为下

为了用Python实现这个功能,我们需要按照以下思路进行:

  1. 了解抖音API的使用规则和权限:首先你需要查阅抖音的开发者文档,了解获取用户评论、用户名和UID的具体API端点。
  2. 获取视频评论信息:通过抖音API获取某个视频下方的所有评论,包括评论用户的用户名和UID。
  3. 获取用户详细信息:通过抖音API,使用UID查询用户的详细信息。如果API允许并且你拥有相应权限,可以获取用户的手机号。
  4. 处理和展示数据:将获取到的数据存储并进行适当处理,以便展示或进一步分析。

以下是一个示范代码,展示了如何通过API获取视频评论:

python

import requests
def get_video_comments(video_id, api_key):
    url = f"https://api.douyin.com/video/comments?video_id={video_id}&api_key={api_key}"
    response = requests.get(url)
    if response.status_code == 200:
        return response.json()
    else:
        return None
def main():
    video_id = "example_video_id"
    api_key = "your_api_key"
    comments = get_video_comments(video_id, api_key)
    if comments:
        for comment in comments['data']:
            username = comment['user']['nickname']
            uid = comment['user']['uid']
            print(f"Username: {username}, UID: {uid}")
    else:
        print("Failed to retrieve comments")
if __name__ == "__main__":
    main()

注意事项

  1. 权限和隐私:获取用户的私人信息(如手机号)需要遵守抖音的隐私政策和相关法律法规,确保你拥有相应的权限。
  2. 数据处理:存储和处理数据时要确保其安全性和隐私性。

那么在第一步,了解抖音API的使用规则和权限:首先你需要查阅抖音的开发者文档,了解获取用户评论、用户名和UID的具体API端点。

根据卓伊凡在官网得到的信息如下

https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/openapi/account-permission/phone-number-decode-demo

抖音开放的api信息我们可以了解到

  1. 申请权限:在抖音开放平台控制台中,需要申请“获取用户手机号”权限获取用户手机号移动网站应用抖音开放平台。

https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/openapi/account-permission/phone-number-decode-demo

  1. 用户授权:用户需要授权开发者获取其手机号信息网站应用抖音开放平台。
  2. 获取手机号:通过API获取用户的加密手机号信息,并使用AES算法解密抖音开放平台。

也就是这部分

该接口在用户公开信息的基础上,额外获取用户的手机号。

•Scope: mobile_alert

需要申请权限。路径:抖音开放平台控制台 > 应用详情 > 能力管理 > 用户权限 > 获取用户手机号

需要用户授权

接口说明

前提条件

请先获取用户公开信息,才能获取用户手机号。

注意事项

•用户授权后,获取用户公开信息接口会额外返回 encrypt_mobile 字段。

•解密手机号,使用 AES 算法解密,密钥是 client_secret, 向量 lv 是 client_secret 前 16 字节。

•通过辅助手机号绑定的信息不会返回。

示例解密代码

•Java

import javax.crypto.Cipher; 
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import javax.crypto.spec.IvParameterSpec;
import java.util.Base64;
import java.util.Arrays;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.BadPaddingException;
public class DecryptMobile{
    public static String decrypt(String algorithm, String cipherText, SecretKey key,IvParameterSpec iv)
        throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException {
        Cipher cipher = Cipher.getInstance(algorithm);
        cipher.init(Cipher.DECRYPT_MODE, key, iv);
        byte[] plainText = cipher.doFinal(Base64.getDecoder().decode(cipherText));
        return new String(plainText);
    }
    public static void main(String []args)
        throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException {
        String clientSecret = "0123456789abcdef0123456789abcdef";
        String encryptedMobile = "tyUWQwYuUmVFJtElAL+D7Q==";
        byte[] clientSecretBytes = clientSecret.getBytes();
        SecretKey secretKey = new SecretKeySpec(clientSecretBytes, 0, clientSecretBytes.length, "AES");
        byte[] iv = Arrays.copyOfRange(clientSecretBytes, 0, 16);
        IvParameterSpec ivParameterSpec = new IvParameterSpec(iv);
        String algorithm = "AES/CBC/PKCS5Padding";
        String mobile = decrypt(algorithm, encryptedMobile, secretKey, ivParameterSpec);
        System.out.println(mobile);
    }
}

此处是java的实例,

这个过程确保了用户的隐私和安全。可以参考抖音开放平台的官方文档获取详细的使用方法和示例代码移动/网站应用抖音开放平台。

请注意,获取用户的手机号信息需要严格遵守隐私法规和平台的使用条款。确保你的应用符合相关法律法规,并且用户已经明确授权。

那么综上所述我们第一步应该是获取 授权信息

URL是浏览器直接访问的前端页面,而并非OpenAPI接口。只适用于抖音获取授权临时票据(code),访问该 URL会跳转到开放平台提供的授权扫码页,用户扫码即可授权。

打开该 URL 后,页面会出现一个二维码,用户扫描该二维码即可授权。在抖音 App 支持端内唤醒的版本内打开的话会弹出客户端原生授权页面。

接口说明

前提条件

•需要去官网为应用申请 scope 的使用权限。

•需要在本接口的 scope 传参中填上需要用户授权的 scope,多个 scope 以逗号分割。

•用户授权通过后,应用有权限通过 access_token 调用相应接口。

注意事项

•获取的 code 可以用来调用 https://open.douyin.com/oauth/access_token/ 换取用户 acccess_token。

目录
相关文章
|
9月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
9月前
|
存储 API 数据库
自动发短信的软件,批量自动群发短信,手机号电话号生成器【python框架】
这个短信群发系统包含以下核心功能: 随机手机号生成器(支持中国号码) 批量短信发送功能(使用Twilio API)
|
9月前
|
API 数据安全/隐私保护 Python
批量发短信的软件,自动群发短信批量工具,手机号电话生成脚本插件【python】
该工具包含三个核心模块:短信发送核心功能、配置管理系统和命令行界面。使用时需先配置API密钥和短信模板
|
10月前
|
API Python
VIN码查询API的实战指南:获取二手车信息以Python为例
随着机动车保有量上升,中国二手车市场迎来发展机遇。本文介绍如何通过VIN码查询API获取车辆详细信息,提升交易透明度与安全性。
359 1
|
10月前
|
存储 定位技术
美团商家提取脚本,可采集商家地址评分电话手机号,autojs版仅供学习
本项目基于Auto.js实现美团商家数据的自动化采集,主要功能包括页面解析、数据提取与存储。通过控件层级定位技术深度遍历获取商家信息(名称、评分、地址、电话等)
|
9月前
|
前端开发 数据安全/隐私保护 Python
虚拟物流单号生成器, 虚拟快递单号假物流信息, 虚拟快递单号在线生成【python框架】
这个虚拟物流单号生成系统包含以下功能:支持多种主流快递公司的单号生成
|
9月前
|
数据安全/隐私保护 数据格式 Python
快递单号模拟生成器, 虚拟物流信息在线生成,虚假快递单号生成器【python】
支持多种主流快递公司生成符合各快递公司规则的快递单号自动生成收发件人信息
|
9月前
|
JSON 前端开发 API
快递单号生成器在线, 快递单号模拟生成器, 虚拟物流信息在线生成【python】
项目包含三个主要模块:快递单号生成器核心逻辑、Flask Web应用程序和前端HTML页面
|
9月前
|
JSON API 数据安全/隐私保护
车辆五项信息查询 API 的实践指南:通过Python调用赋能车辆信息标准化
本API通过车牌号快速获取车辆五项核心信息,包括品牌、登记日期、车架号等,助力二手车评估、维修、保险等场景实现数字化转型。数据源自权威公安交管库,日更同步,毫秒级响应,满足高并发需求,符合隐私保护规范,是推动汽车后市场智能化的重要工具。
583 0
|
10月前
|
数据采集 存储 数据可视化
Python爬取招标信息并生成可视化分析报告
Python爬取招标信息并生成可视化分析报告

热门文章

最新文章

推荐镜像

更多