API

A collection of 8 posts

Telegram

Telegram Bot

我想用电报机器人实现一个每日天气预报和农历提醒,这里备忘相关资料。 创建机器人 和官方的 BotFather 互动一下,就可以创建自己的机器人。 拿到 token 就可以开始和 API 互动。 发个消息 获取 chat_id 用自己的账号和新建的 bot 互动一下,然后通过 API 查看 Chat ID。 $ curl -s https://api.telegram.org/bot$tg_key/getUpdates 其中 $tg_key 是机器人的 token 在返回的 JSON 中,chat 的

OSS

s3fs-fuse 把 s3-like 对象存储挂载到本地

s3fs-fuse 是一个采用 c++ 开发的开源应用,它的作用是可以将 AWS S3 以及兼容 S3 API 的第三方对象存储像普通文件系统一样挂载到本地计算机,由于这种功能通过 FUSE 实现,因此只能在 Linux 和 MacOS 上使用。 安装 包管理器安装 Debian 9 和 Ubuntu 16.04 及以上版本: $ sudo apt install s3fs 发行版软件仓库中可能提供的不是最新版本 编译安装 如果希望使用最新版本,可以自己编译。 安装编译工具和依赖 $ sudo apt-get install automake autotools-dev fuse g+

S3

s3cmd with s3-compatible OSS

S3cmd 是一款免费的命令行工具和客户端,用来上传、下载和管理亚马逊 S3 对象存储以及其他兼容 S3 协议的对象存储(例如 Google Cloud Storage、DreamHost DreamObjects)上的数据。 由于它是命令行下的程序,因此更适合对命令行比较熟悉的用户使用。结合 cron 计划任务,s3cmd 也是理想的自动化备份数据到 s3 的脚本方案。 S3cmd 用 Python 语言写成,采用 GNU Public License v2 (GPLv2) 协议开源,商业和个人均可免费使用。 安装 s3cmd 使用 pip 是最理想的安装方式: $ pip install s3cmd

Python

Backblaze B2 Bucket 文件和容量统计

Backblaze B2 是眼下性价比最高的对象存储,结合 restic 加密备份工具,就可以非常低成本的实现数据安全冗余。 只是 B2 存储的 API 真是不够实在,除了常规的文件查看、上传和下载等基本操作以外,没有提供任何消费查询和用量统计的接口。 不提供就不提供吧,只要有列出文件的接口,并且能返回每个文件的尺寸信息就够了,起码可以自己累加计算。只是这样要多次发送请求才能得到最终的结果,真不节能。 import requests import base64 import json def b2_auth(): # 身份认证,获取认证 Token。属于 Class C 请求。 # 密钥格式 "keyId:applicationKey". id_and_

Linode

Linode Personal Access Key

尝试通过 API 调用 Linode 上的资源信息,用默认后台创建的 API Key 发送请求一直提示 token invalid。 原因是默认管理后台的 Profile 菜单创建的 API KEY 不是 Personal Access Key,这种密钥应在 https://cloud.linode.com 新版管理后台创建。 Python 调用 Linode API 把 $(Personal Access Key) 替换成自己创建的 Personal Access Key 即可。 import requests headers = {'Authorization': 'Bearer

API

RESTful API 设计指南

一、协议 API与用户的通信协议,总是使用HTTPs协议。 二、域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/ 三、版本(Versioning) 应该将API的版本号放入URL。 https://api.example.com/v1/ 另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。 四、路径(Endpoint) 路径又称"终点"(endpoint),表示API的具体网址。 在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,

You've successfully subscribed to Herald's Tech Notes!