gpt4 book ai didi

php - 无法在 PHP 中请求用于 OneDrive 文件上传的 Microsoft 访问 token

转载 作者:行者123 更新时间:2023-12-03 07:03:01 25 4
gpt4 key购买 nike

我需要一些帮助。两天以来,我阅读了几个教程并尝试了我发现的代码片段,以从 Microsoft 获取访问 token 以将单个小文件从 PHP 上传到 OneDrive。这是我当前的代码:

$onedrive_tenant_id     = 'f8cdef31-a31e-4b4a-93e4-5f571e91255a';
$onedrive_client_id = '2947eb86-xxxxxx....';
$onedrive_client_secret = '6994277d-xxxxxx....';

if ( ! empty( $onedrive_tenant_id ) && ! empty( $onedrive_client_id ) && ! empty( $onedrive_client_secret ) ) {
$guzzle = new Client();
$url = 'https://login.microsoftonline.com/' . $onedrive_tenant_id . '/oauth2/token';
$user_token = json_decode( $guzzle->post( $url, [
'form_params' => [
'client_id' => $onedrive_client_id,
'client_secret' => $onedrive_client_secret,
'resource' => 'https://graph.microsoft.com/',
'grant_type' => 'password',
'username' => '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="224f57515647500c4f434c4c625547400c4647" rel="noreferrer noopener nofollow">[email protected]</a>',
'password' => '123456789',
'scope' => 'https://graph.microsoft.com/Files.ReadWrite'
],
] )->getBody()->getContents() );
}

但它不起作用...每次执行脚本时,我都会遇到不同的异常。我最终得到了这个:

PHP Fatal error: Uncaught GuzzleHttp\Exception\ClientException:Client error: POST https://login.microsoftonline.com/f8cdef31-a31e-4b4a-93e4-5f571e91255a/oauth2/tokenresulted in a 400 Bad Request response:{"error":"invalid_request","error_description":"AADSTS90002: Tenant'web.de' not found. Check to make sure you have the (truncated...)

我不明白为什么通过 PHP 将文件上传到 OneDrive 这么复杂。

这是我正在关注的教程:https://www.webshark.ee/how-to-upload-files-from-server-to-microsoft-onedrive-using-rest-api-and-php/

最佳答案

建议的过程是使用 msgraph-sdk-php 来完成此过程,并且有完整的线索表明您正在使用相同的但需要更多扩展。

  1. 使用 PHP Web 服务创建示例应用程序。必须注意的是,我们需要拥有一个支持单驱动器的开放访问 Office 365 帐户。 (https://github.com/AI-EVO/PHP-MS-Graph)

  2. 查看 MSGRAPH-SDK-PHP 中的自述教程

  3. 通过 Graph API 使用 ADD 注册在步骤 1 中设计的应用程序 ( https://github.com/microsoftgraph/msgraph-sdk-php#register-your-application )

  4. 创建您的权限列表并检查这些权限的可用性和可访问性。

如需进一步引用,请使用 link

关于php - 无法在 PHP 中请求用于 OneDrive 文件上传的 Microsoft 访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72012808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com