【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端点。

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

获取用户手机号_抖音开放平台

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

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

获取用户手机号_抖音开放平台

  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。

### 获取用户信息的方法 对于基于UID来获取用户的详细信息,可以利用特定API接口实现这一需求。存在一个用于分享获取主页信息的API,在此API中可以通过提供`uid`参数来访问指定用户的公开资料数据[^1]。 具体而言,该API能够返回一系列属性,包括但不限于: - `uid`: 账号唯一标识符 - `nickname`: 用户昵称 - `avatar`: 头像链接 为了调用这样的服务端口并取得相应结果,通常会采用HTTP GET请求的方式发送带有目标`uid`的数据包至服务器地址。下面给出一段Python代码示例展示如何构建这样一个查询过程: ```python import requests def get_douyin_user_info(uid): url = f"http://example.com/api/douyin/user?uid={uid}" # 假设这是正确的API路径 response = requests.get(url) if response.status_code == 200: user_data = response.json() return { 'uid': user_data['uid'], 'nickname': user_data['nickname'], 'avatar': user_data['avatar'] } else: raise Exception(f"Failed to fetch data with status code {response.status_code}") ``` 需要注意的是实际使用的URL应当替换为官方提供的有效API入口,并遵循其文档中的指导完成身份验证和其他必要的配置工作。此外,还有其他途径可以获得更广泛的信息集合,比如通过开放平台提供的订阅功能获取多个账号详情列表[^2];或者是处理某些特殊情况下的错误响应时可能涉及到的不同格式化字符串作为跳转链接的一部分[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓伊凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值