先决条件:有管理员权限经测试不需要使用管理员也可以创建Azure AD应用程序,请登录中国版Azure管理门户进行操作。在Azure AD中创建应用程序,创建应用程序所需授予的权限与国际版相同:
1) 创建应用程序时主页URL为你的oneindex安装地址(例如:http://ofb.yourcompany.com/)
2) Windows Azure Active Directory中的Sign in and read user profile
3) Office 365 SharePoint Online中的Read user files和Read and write user files
4) 新建一个API访问权限的密钥,有效期必须为一年(两年或永久会无法正常授权)
修改内容如下:
1. 将lib/onedrive.php中的所有
1 |
login.microsoftonline.com |
替换为
1 |
login.partner.microsoftonline.cn |
操作理由:替换国际版OAuth地址为国内版OAuth地址
2. 将lib/onedrive.php第16行
1 |
$resource_id="https://api.office.com/discovery/" |
替换为
1 |
$resource_id="00000003-0000-0ff1-ce00-000000000000" |
操作理由:国内版暂无Office 365 API终结点,此处使用国内版Office 365 SharePoint的应用ID作为请求的resource_id传递
3. 将lib/onedrive.php中函数
1 |
static function get_app_url($token) |
的返回值直接固定为你的OneDrive for Business的主机名,例如
1 |
yourcompany-my.sharepoint.cn |
操作理由:国内版暂无Office 365 API终结点,无法自动获取OneDrive for Business的主机名,暂时只能手动指定
4. 将config/base.php中的
1 |
'client_id' |
赋值为你的Azure AD应用程序ID(不是对象ID)
1 |
'client_secret' |
赋值为你新建的API访问权限密钥
1 |
'redirect_uri' |
赋值为你创建的应用程序主页URL
操作理由:使用自己的Azure AD应用程序,目前还没有类似国际版的公用token获取应用,坐等其他大佬发布
5. 其余安装步骤与国际版相同
参考资料:
https://msdn.microsoft.com/en-us/office/office365/api/o365-china-endpoints
附件是按照上述说明修改后的适用于由世纪互联运营的Office 365的oneindex,只对lib/onedrive.php做了必要的修改(见上文修改内容部分),安装使用时只需配置config/base.php中的参数。下载oneindex-21vianet.zip
Comments