这是一个全新的项目,也是我第一次尝试使用Google Drive的API。我跑的时候立刻得到401:
static void Main(string[] args)
{
UserCredential credential;
using (var filestream = new FileStream("client_secrets.json",
FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(filestream).Secrets,
new[] { DriveService.Scope.Drive },
"user",
CancellationToken.None,
new FileDataStore("DriveCommandLineSample")).Result;
}
此代码从https://developers.google.com/drive/web/quickstart/quickstart-cs逐字复制。我将JSON文件下载为 client_secrets.json ,并验证了GoogleClientSecrets.Load(文件流).Secrets与我在“凭据”页面上看到的值保持相同的值。
我已经使用Firefox和IE进行了测试。我做错了什么?
答案 0 :(得分:0)
@saltface我不能评论所以我在这里发帖。
您想使用哪种API? Drive API或Drive SDK?
401 error
表示您尚未识别,您的凭据错误,或者您尚未从Google API Console启用API。
您启用了api吗?然后,如果是这样的话......你是否生成了网络密钥?。
中看到你必须转到左侧菜单API / Auth => API。
您需要搜索'云端硬盘'并启用API。完成后,您需要创建一个凭据。
答案 1 :(得分:0)
我能够通过在 同意屏幕上的 电子邮件地址 下拉菜单中选择我的电子邮件地址来实现目标 页面。 (以前未设置过。)
我创建了另一个Google项目并将电子邮件地址留空了。在我设置电子邮件地址之前,它表现出相同的行为。
答案 2 :(得分:0)
我知道这个问题已经得到解答,但就像对其他人的说明一样:
最近,我在尝试设置Google云端硬盘"推送通知时遇到了401 Unauthorized
错误响应" (网络挂接)。事实证明,这是因为我的访问令牌已经过期了!您可以通过运行代码示例here重新生成有效令牌。