alphayax / freebox_api_php
Freebox API PHP
Requires
- php: >=5.5.0
- ext-curl: *
- alphayax/rest: ^1.1.2
- guzzlehttp/guzzle: ~6.0
- monolog/monolog: ^1.9.1
Requires (Dev)
- alphayax/phpdoc_md: ^1.0.4
- codacy/coverage: <2.0.0
- phpunit/phpunit: ^5.4.0
- zf1/zend-reflection: 1.12.*
- dev-master
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- 0.9.1
- 0.9.0
- 0.8.18
- 0.8.17
- 0.8.16
- 0.8.15
- 0.8.14
- 0.8.13
- 0.8.12
- 0.8.11
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.12
- 0.7.11
- 0.7.10
- 0.7.9
- 0.7.8
- 0.7.7
- 0.7.6
- 0.7.5
- 0.7.4
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.0
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.0
- dev-add-code-of-conduct-1-1
- dev-add-code-of-conduct-1
- dev-develop
This package is not auto-updated.
Last update: 2024-09-15 11:09:05 UTC
README
Freebox API PHP 的 PHP 实现
- 完全支持版本 3
- 部分支持版本 4
先决条件
此项目基于 composer。请安装依赖项 :)
功能
一个完整的文档列出了所有实现的服务
Freebox API (v3)
Freebox API (v4)
使用
应用程序
对象 \alphayax\freebox\utils\Application
代表您的应用程序。您需要创建此类的实例并将其传递给您想要使用的服务。
关联
要访问 Freebox API 提供的服务,您必须授权您的应用程序。此过程要求您在“关联”期间连接到 Freebox 的本地网络,并且您需要随身携带 Freebox。应用程序将自动保存 Freebox 返回的令牌,并且此过程将不再需要重复。
请注意,要修改对不同服务的访问权限,您必须通过本地 Web 界面进行:[http://mafreebox.freebox.fr/login.php]。
Freebox 参数 > 其他 > 访问管理 > 应用程序
- 创建一个应用程序对象。
- 请求连接到 Freebox 的权限(请参阅 Freebox Server 的指示灯框)
- 获取一个会话以使用 API 的各种服务
$App = new \alphayax\freebox\utils\Application( 'com.alphayax.freebox.example', 'Freebox PHP API Exemple', '0.0.1'); $App->authorize(); $App->openSession();
本地访问
默认情况下启用本地访问。一旦创建应用程序并打开会话,您可以直接使用应用程序有权访问的服务。
远程访问
为了能够使用远程访问,您需要与您的应用程序关联的令牌。此令牌在通过调用 authorize()
方法进行关联后自动获得。令牌写入 app_token
文件。它也可以通过方法 \alphayax\freebox\utils\Application::getAppToken()
获取。
获得令牌后,您可以按照以下步骤操作
$App = new \alphayax\freebox\utils\Application( 'com.alphayax.freebox.version', 'Freebox PHP API Example (Version)', '1.0.0'); $App->setFreeboxApiHost( 'https://xxx.freeboxos.fr:17105'); // A remplacer par votre host $App->setAppToken( 'xxxxxxxxxxxxxxxxxxxx'); // A remplacer par votre token $App->openSession();
服务
通过服务调用 API 的服务。这些服务具有用于检索、添加或更新数据的方法。
以下是一个使用 System API 的示例
- 我们创建一个新的“System”服务
- 我们请求获取当前配置
- 显示返回的模型
$System = new \alphayax\freebox\api\v3\services\config\System( $App); $SystemConfig = $System->getConfiguration(); print_r( $SystemConfig);
结果
alphayax\freebox\api\v3\models\SystemConfig Object ( [firmware_version:protected] => 3.3.1 [mac:protected] => 77:77:77:77:77:77 [serial:protected] => 7777777777777777 [uptime:protected] => 44 jours 16 heures 35 minutes 16 secondes [uptime_val:protected] => 3861316 [board_name:protected] => fbxgw2r [temp_cpum:protected] => 63 [temp_sw:protected] => 52 [temp_cpub:protected] => 58 [fan_rpm:protected] => 2253 [box_authenticated:protected] => 1 )
示例
示例位于 exemple
目录中。它们按服务分类
AirMedia
:启动 Freebox Player 上视频的示例Call
:Call
:列出 Freebox 上接收和发出的呼叫(带有删除和标记为已读的示例)Contact
:列出联系人数组,将电话号码添加到第一个联系人的电话号码中,并移除它
FileSystem
fileSharing
:在网络上共享文件的示例fsListing
: Freebox目录扫描示例fsOperation
: 文件操作示例(复制、移动、重命名、par2等)
config
check_dns
: 获取当前DHCP配置的脚本Connection
: 获取Freebox连接的各种信息(xDSL、FTTH、DynDns等)DMZ
: 获取您去军事化区域的配置Freeplug
: 显示您的Freeplug配置IncomingPort
: 返回当前HTTP入口端口的配置LCD
: 修改Freebox服务器的LCD面板亮度示例LAN
: 配置LAN和探索网络上的机器PortForwarding
: 添加端口重定向示例System
: 显示Freebox的系统配置UPnP
: 显示UPnP配置VPN
: 显示VPN服务器配置,列出用户...WiFi
: 显示全局WiFi配置
download
Download
: 显示当前下载列表,列出下载文件列表和更新下载优先级DlConfig
: 显示下载配置(bt、nntp等)dl_rss
: 解析RSS流并将其对应于正则表达式的项添加到下载中Bittorrent
: 显示BT下载信息
ParentalControl
Filter
: 返回当前配置和过滤器
存储
Disk
: 返回连接到Freebox的磁盘信息Partition
: 返回磁盘信息。可以进行验证或格式化
remote
: 远程连接示例version
: 显示Freebox API的版本
Freebox Delta和连接到智能设备
要访问智能设备,您必须授权应用程序访问。为此,请在获取API密钥后,进入Freebox的管理界面,然后在“Freebox设置”/“访问管理”/“应用程序”中,授权“管理警报和智能家居”。