Php OneDrive代码流请求登录到Microsoft帐户

Php OneDrive代码流请求登录到Microsoft帐户,php,oauth,onedrive,Php,Oauth,Onedrive,每当我尝试对OneDrive API进行身份验证时,它都会要求我登录到我的Microsoft帐户,但这不是违背了API的目的吗 我将脚本重定向到身份验证代码URL,该URL应为我请求访问令牌返回唯一代码。当我登录到我的Microsoft帐户时,它可以正常工作,但当我未登录时,它会将我显示到Microsoft登录页面 我使用的URL是 https://login.live.com/oauth20_authorize.srf?client_id=MYCLIENTID&scope=onedri

每当我尝试对OneDrive API进行身份验证时,它都会要求我登录到我的Microsoft帐户,但这不是违背了API的目的吗

我将脚本重定向到身份验证代码URL,该URL应为我请求访问令牌返回唯一代码。当我登录到我的Microsoft帐户时,它可以正常工作,但当我未登录时,它会将我显示到Microsoft登录页面

我使用的URL是

https://login.live.com/oauth20_authorize.srf?client_id=MYCLIENTID&scope=onedrive.readwrite offline_access onedrive.readonly onedrive.appfolder&response_type=code&redirect_uri=MYREDIRECTURL
编辑

下面是我用来重定向的PHP代码

$auth_code_url = 'https://login.live.com/oauth20_authorize.srf?client_id='.$od_app_id.'&scope=onedrive.readwrite offline_access onedrive.readonly onedrive.appfolder&response_type=code&redirect_uri='.$url_website;

header("Location: ".$auth_code_url); exit();

API允许您代表用户管理其文件,但它不会为您的应用程序/服务创建OneDrive帐户

为了管理用户的文件,他们需要授权您这样做。从概念上讲,这意味着用户与login.live.com对话并说“我是UserX,这是我的证明”。login.live.com然后给他们一个令牌,上面写着“我们相信这个用户是UserX”。然后,用户将此令牌提供给您的服务,这样,当您发出OneDrive请求时,您可以提供令牌,表示“UserX授予我管理其文件的权限”


如果用户已登录,则其浏览器中已存储验证cookie,因此login.live.com将在不提示登录的情况下返回代码/令牌。如果用户未登录,则login.live.com(以及您的服务)不知道用户是谁。因此,有必要显示登录屏幕以获取/验证用户的身份,以便知道要修改谁的文件。

这不是url。您需要发布用于进行身份验证的代码,这样我们就可以看一看刚才添加的代码示例,谢谢。