吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1466|回复: 15
收起左侧

[Python 转载] 访问github的api插件

[复制链接]
GGxiaoyuboy 发表于 2024-7-22 20:16
为了实现能够将Github的Star项目输入给A,首先需要编写一个插件,这个插件用于访问Github API接口:
import requests
import os

# 获取Github访问令牌
GITHUB_TOKEN = os.getenv('GITHUB_TOKEN')
headers = {
    'Authorization': f'token {GITHUB_TOKEN}'
}

def get_starred_repos(username):
    url = f'https://api.github.com/users/{username}/starred'
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        return response.json()
    else:
        return []

def main():
    username = 'your-github-username'
    starred_repos = get_starred_repos(username)
    for repo in starred_repos:
        print(f"项目名称: {repo['name']}")
        print(f"项目描述: {repo['description']}")
        print(f"项目地址: {repo['html_url']}")
        print(f"Star数量: {repo['stargazers_count']}")
        print('---')

if __name__ == '__main__':
    main()
以上是用Prompt Al生成的示例代码,这个示例代码确实能直接拿来使用,但是还需要按照实际情况调整输入输出参数,在Coze平台中每一个插件都可以通过Metadata设定输入参数以及输入参数的数据类型,同样的也有输出参数以及输出参数的数据类型。

免费评分

参与人数 9吾爱币 +2 热心值 +9 收起 理由
PastorBonus + 1 + 1 谢谢@Thanks!
BRIDGEFLOW + 1 谢谢@Thanks!感谢分享
taotiedacan + 1 谢谢@Thanks!
Mu2e1 + 1 热心回复!
lyfyf + 1 + 1 我很赞同!
BAB31 + 1 我很赞同!
nbmissliu + 1 我很赞同!
Xiaomihu39 + 1 我很赞同!
huanyu666 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

360NENZ 发表于 2024-7-22 22:31
本帖最后由 360NENZ 于 2024-7-22 22:32 编辑

  • 添加了检查TOKEN是否存在
  • 添加了检查用户是否存在
  • 可以查看指定用户的Star


代码如下

[Python] 纯文本查看 复制代码
import requests
import os

# 检查并获取Github访问令牌
GITHUB_TOKEN_CHECK = os.getenv('GITHUB_TOKEN')
if GITHUB_TOKEN_CHECK is None:
    print("GitHub Token不存在!请在下面输入")
    GITHUB_TOKEN = input("输入你的GitHub Token:")
else:
    print(f"GitHub Token存在!为:\n{GITHUB_TOKEN_CHECK}")
    GITHUB_TOKEN = GITHUB_TOKEN_CHECK
    headers = {'Authorization': f'token {GITHUB_TOKEN}'}

def get_starred_repos(username):
    url = f'https://api.github.com/users/{username}/starred'
    response = requests.get(url, headers=headers)
    # 判断回复状态
    if response.status_code == 200:
        return response.json()
    elif response.status_code == 404:
        return 404
    elif response.status_code == 403:
        return 403
    else:
        return []

def main():
    username = input("输入GiHub用户名:")
    starred_repos = get_starred_repos(username)
    if get_starred_repos(username) == 404:
        print("用户不存在!")
    elif get_starred_repos(username) == 403:
        print("访问被拒绝!可能是超过限制\n官方文档:https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting")
    else:
        print("用户" + username + " Star过的仓库如下:")
        for repo in starred_repos:
            print(f"项目名称: {repo['name']}")
            print(f"项目描述: {repo['description']}")
            print(f"项目地址: {repo['html_url']}")
            print(f"Star数量: {repo['stargazers_count']}")
            print('---')

if __name__ == '__main__':
    main()
苏紫方璇 发表于 2024-7-22 20:45
插入代码可以参考这个帖子
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thread-713042-1-1.html
(出处: 吾爱破解论坛)
沧海轻舟 发表于 2024-7-22 20:50
ZaneV 发表于 2024-7-22 21:49
感谢分享,我去试试
Dao123 发表于 2024-7-22 21:53
感谢分享,属实是救急了
Mr6ing 发表于 2024-7-22 22:04
用得到,去试试,谢谢分享
wcywcy 发表于 2024-7-22 22:24

感谢分享
miku8miku 发表于 2024-7-22 22:44
感谢分享
eyesyin 发表于 2024-7-22 22:58
感谢分享,值得好好学习一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 07:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表