GOG Galaxy 集成 Python API 使用教程
1. 项目的目录结构及介绍
目录结构
galaxy-integrations-python-api/
├── galaxy/
│ └── api/
│ ├── __init__.py
│ ├── plugin.py
│ └── ...
├── examples/
│ └── my_integration/
│ ├── galaxy/
│ │ └── api/
│ │ └── plugin.py
│ ├── plugin.py
│ └── manifest.json
├── tests/
│ └── ...
├── .gitignore
├── LICENSE
├── README.md
└── setup.py
目录介绍
- galaxy/: 包含核心API接口和插件类的实现。
- examples/: 包含示例插件的实现,展示了如何使用API。
- tests/: 包含测试文件,用于测试API和插件的功能。
- .gitignore: Git忽略文件配置。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- setup.py: 项目安装脚本。
2. 项目的启动文件介绍
启动文件
在示例插件目录 examples/my_integration/
中,启动文件是 plugin.py
。
启动文件内容
import sys
from galaxy.api.plugin import Plugin
from galaxy.api.consts import Platform
from galaxy.api.types import Authentication, Game, LicenseInfo, LicenseType
class PluginExample(Plugin):
def __init__(self, reader, writer, token):
super().__init__(Platform.Example, token)
# 初始化插件
def authenticate(self, stored_credentials=None):
# 认证逻辑
return Authentication("user_id", "username")
def get_owned_games(self):
# 获取拥有的游戏
games = [
Game("game_id", "Game Name", [], LicenseInfo(LicenseType.SinglePurchase))
]
return games
def main():
create_and_run_plugin(PluginExample, sys.argv)
if __name__ == "__main__":
main()
启动文件介绍
- PluginExample类: 继承自
galaxy.api.plugin.Plugin
,实现了插件的主要逻辑。 - authenticate方法: 实现用户认证逻辑。
- get_owned_games方法: 获取用户拥有的游戏列表。
- main函数: 创建并运行插件实例。
3. 项目的配置文件介绍
配置文件
在示例插件目录 examples/my_integration/
中,配置文件是 manifest.json
。
配置文件内容
{
"name": "My Integration",
"author": "Author Name",
"version": "1.0",
"description": "A sample integration for GOG Galaxy 2.0",
"platform": "example",
"script": "plugin.py"
}
配置文件介绍
- name: 插件名称。
- author: 插件作者。
- version: 插件版本。
- description: 插件描述。
- platform: 插件支持的平台。
- script: 插件的入口脚本文件。
以上是基于开源项目 galaxy-integrations-python-api
的教程,包含了项目的目录结构、启动文件和配置文件的介绍。希望对你有所帮助。