使用php将文件上传到onedrive

问题描述 投票:0回答:1

我长期以来一直尝试使用 PHP 将数据加载到我的 OneDrive 上。 我已经阅读了很多相关内容,并且还在 github 上找到了一个项目。

现在我尝试了这个教程,但我无法进一步。 https://www.webshark.ee/how-to-upload-files-from-server-to-microsoft-onedrive-using-rest-api-and-php/

我在 microsoft azure 中创建一个应用程序,以获取客户端 ID 等。 我用composer下载了这个包。

composer requires microsoft/microsoft-graph

然后我根据教程中的第一个示例创建了我的脚本。我不知道的是如何集成composer的供应商

我的脚本看起来像:

$tenantId = 'your-id-number';
$clientId = 'your-client-id-number';
$clientSecret = 'your-client-secret-number';
$url = 'https://login.microsoftonline.com/' . $tenantId . '/oauth2/token';
$user_token = json_decode($guzzle->post($url, [
    'form_params' => [
        'client_id' => $clientId,
        'client_secret' => $clientSecret,
        'resource' => 'https://graph.microsoft.com/',
        'grant_type' => 'password',
        'username' => '[email protected]',
        'password' => 'your-password'
    ],
])->getBody()->getContents());
$user_accessToken = $user_token->access_token;

$graph = new Graph();
$graph->setAccessToken($user_accessToken);
?>

目前我仅在运行第一个脚本时收到错误消息

Warning: Undefined variable $guzzle in C:\xampp_neu\htdocs\test1\src\test.php on line 6

php charts composer-php
1个回答
0
投票

Guzzle 是 PHP 的 HTTP 客户端,此警告告诉您 Guzzle 客户端未定义。有几个步骤可以解决这个问题。

首先,通过运行以下命令通过 Composer 安装它:

composer require guzzlehttp/guzzle

其次,为了在 PHP 脚本中使用 Composer 包,您需要在文件顶部包含 Composer 自动加载器。这将加载

<?php
require_once 'vendor/autoload.php';

最后,您需要在首次使用之前实例化 Guzzle 客户端:

$guzzle = new GuzzleHttp\Client();
© www.soinside.com 2019 - 2024. All rights reserved.