我正在尝试使用 Google 课堂 API 集成到产品中。为此,我在开发人员控制台中创建了一个项目,并创建了 oAuth 凭据。
下载了客户端机密 json 文件。
我正在尝试通过 API 在 Google 课堂中创建一个课程。我用来访问的代码如下:
using (var stream = new FileStream(System.Web.HttpContext.Current.Server.MapPath("client_secret.json"), FileMode.Open, FileAccess.Read))
{
string credPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
credPath = Path.Combine(@"C:\googlekeys\.credentials\classroom-dotnet-quickstart.json");
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result;
}
执行最后一步时出现错误错误:
redirect_uri_mismatch
我已经在开发者控制台和 json 文件之间进行了交叉检查,它们都具有相同的重定向 uri。我之前已经为其他域完成了这个过程,并且效果很好。
令我困惑的是,每次我运行代码时,url 中的重定向 uri 都会发生变化。
运行 1:请求中的重定向 URI http://localhost:51282/authorize/与授权给 OAuth 客户端的 URI 不匹配
运行 2:请求中的重定向 URI http://localhost:44699/authorize/与 OAuth 客户端授权的 URI 不匹配
我对它从哪里获取重定向 url 感到非常困惑。