在 Web 中使用 Dropbox API
Utilize Dropbox in Web API
不确定这是否真的是个愚蠢的问题,但是否可以在网络范围内访问/使用 Dropbox API。
考虑以下因素。我有一个用 Angular 编写的多租户前端应用程序。 C# web API 中的后端(多租户)。用户可以上传文档/文件。 API 将负责将文档上传到存储提供商。在这种情况下,它是 Dropbox。问题是,我读到 Dropbox 不再支持用户名/密码验证。因此,如果用户需要向调用应用程序提供同意,则使用 OAuth。这只需要发生一次。由于单个租户中的多个用户可以使用在线存储,我正在努力了解这将如何通过网络工作 API...
有什么建议吗?
谢谢!
是的,您可以在 Web API 中使用第 3 方 API。我从未使用过 Drop box API,但正如您所说,他们使用 OAuth 作为身份验证机制,我可以向您展示调用第 3 方 API 的代码,在这种情况下是 (clarifai)。
我正在使用 HttpClient
您可以使用 Dropbox .NET SDK。但是,如果您想坚持使用 HTTP,那么 here 是相同的文档。
string token = "Oauth token received using some mechanism";
string requestPath = string.Format("v1/tag");
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("https://api.clarifai.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
HttpResponseMessage response = await client.PostAsync(requestPath, content);
if (response.IsSuccessStatusCode)
{
var resString = await response.Content.ReadAsStringAsync();
// JSON Response
JObject resJsonObject = JObject.Parse(resString);
}
现在,由于您担心对用户进行身份验证并获取令牌。 Here 是 Dropbox 示例,其中展示了如何在 Dropbox 网站上重定向用户以进行身份验证并获取临时 oauth 令牌。
- 查看
Connect
控制器中的 Connect
操作方法和 AuthAsync
操作方法。
希望对您有所帮助。如有任何疑问,请随时提出。
不确定这是否真的是个愚蠢的问题,但是否可以在网络范围内访问/使用 Dropbox API。
考虑以下因素。我有一个用 Angular 编写的多租户前端应用程序。 C# web API 中的后端(多租户)。用户可以上传文档/文件。 API 将负责将文档上传到存储提供商。在这种情况下,它是 Dropbox。问题是,我读到 Dropbox 不再支持用户名/密码验证。因此,如果用户需要向调用应用程序提供同意,则使用 OAuth。这只需要发生一次。由于单个租户中的多个用户可以使用在线存储,我正在努力了解这将如何通过网络工作 API...
有什么建议吗? 谢谢!
是的,您可以在 Web API 中使用第 3 方 API。我从未使用过 Drop box API,但正如您所说,他们使用 OAuth 作为身份验证机制,我可以向您展示调用第 3 方 API 的代码,在这种情况下是 (clarifai)。
我正在使用 HttpClient
您可以使用 Dropbox .NET SDK。但是,如果您想坚持使用 HTTP,那么 here 是相同的文档。
string token = "Oauth token received using some mechanism";
string requestPath = string.Format("v1/tag");
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("https://api.clarifai.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
HttpResponseMessage response = await client.PostAsync(requestPath, content);
if (response.IsSuccessStatusCode)
{
var resString = await response.Content.ReadAsStringAsync();
// JSON Response
JObject resJsonObject = JObject.Parse(resString);
}
现在,由于您担心对用户进行身份验证并获取令牌。 Here 是 Dropbox 示例,其中展示了如何在 Dropbox 网站上重定向用户以进行身份验证并获取临时 oauth 令牌。
- 查看
Connect
控制器中的Connect
操作方法和AuthAsync
操作方法。
希望对您有所帮助。如有任何疑问,请随时提出。