【问题标题】:Getting TF30063: You are not authorized to access https://{url}.visualstudio.com/获取 TF30063:您无权访问 https://{url}.visualstudio.com/
【发布时间】:2018-09-27 23:14:01
【问题描述】:

我正在使用以下代码与 Visual Studio 在线项目对话以获取工作项列表。但得到TF30063 unauthorized access error

我已尝试使用网络凭据、Windows 默认凭据、VssBasicCredentialVssCredentials 访问该项目。我尝试清除缓存,通用凭据。但没有任何工作。我可以从浏览器访问 VSO 项目,但不能通过此代码。

如果我遗漏了什么,请告诉我。

感谢您的帮助。谢谢

        this.uri = projectUri;
        string userName = ConfigurationManager.AppSettings["Username"];
        string password = ConfigurationManager.AppSettings["Password"];

        NetworkCredential netCred = new NetworkCredential(userName, password);
       // VssBasicCredential bsCred = new VssBasicCredential(netCred);
       //VssCredentials vssCred = new VssCredentials(bsCred);
       // VssCredentials vssCred = new VssCredentials(new Microsoft.VisualStudio.Services.Common.WindowsCredential(netCred));           

        tpc = new TfsTeamProjectCollection(new Uri(uri), netCred);

        workItemStore = WorkItemStore)tpc.GetService(typeof(WorkItemStore));

【问题讨论】:

    标签: c# visual-studio tfs azure-devops


    【解决方案1】:

    只需尝试enable alternate credentials 为您的帐户。然后再试一次。

    您也可以参考这篇文章:How to connect to TF Service without a prompt for LiveID credentials

    以下示例供您参考以获取工作项列表,它适用于我:

    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;
    using System;
    using System.Collections.Generic;
    
    namespace GetWorkItemList
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                string info = String.Empty;
    
                NetworkCredential netCred = new NetworkCredential("xxx@outlook.com", "password");      
    
                var tpc = new TfsTeamProjectCollection(new Uri("https://xxxx.visualstudio.com"), netCred);
    
                WorkItemStore workItemStore = new WorkItemStore(tpc);
    
                Query query = new Query(workItemStore, "SELECT * FROM WorkItems WHERE [System.TeamProject] = @project", new Dictionary<string, string>() { { "project", "ProjectNameHere" } });
    
                WorkItemCollection wic = query.RunQuery();
    
                foreach (WorkItem item in wic)
                {
                    info += String.Format("WIT:{0} ID: {1}  Title: {2}\n", item.Type.Name, item.Id, item.Title);
                }
    
                Console.WriteLine(info);
                Console.ReadLine();
            }
        }
    }  
    

    此外,您也可以尝试使用 PAT,点击以下链接查看示例:

    Fetch work items with queries programatically in VSTS

    【讨论】:

    • @user1335978 你解决了这个问题吗?有更新吗?
    • 启用备用身份验证凭据后,我仍然收到错误消息。 Visual Studio 甚至没有提示让我输入凭据或任何内容。
    【解决方案2】:

    当您计算机上的默认凭据与与当前解决方案关联的凭据不匹配时,可能会发生这种情况。您可以通过从 Visual Studio 中手动登录来解决此问题。打开 WebBrowser 视图(Ctrl+W、W),然后导航到您要使用的帐户的 dev.azure.com 页面。通过浏览器视图正常登录。然后,团队资源管理器将获取正确的凭据。

    【讨论】:

      猜你喜欢
      • 2013-11-07
      • 2019-12-12
      • 1970-01-01
      • 2020-06-19
      • 2017-03-31
      • 1970-01-01
      • 2013-06-24
      • 2023-03-15
      相关资源
      最近更新 更多