2016-04-15 7 views
0

Ich verwende den folgenden Code, um eine Liste aller GitHub Enterprise-Benutzer zu erhalten, dann versuche ich diese nicht mehr in AD auszusetzen. Die Suspend-Funktion funktioniert, die User.Suspended-Eigenschaft gibt jedoch immer false zurück.User.Suspended immer zurück false in octokit.net

var searhRequest = new SearchUsersRequest("type:user&page="+pageNumber+"&page_size=100"); 
       githubUsers = await client.Search.SearchUsers(searhRequest); 

client.User.Administration.Suspend(userId); 

Antwort

0

Ja, ich glaube, das Problem ist, dass wir den Rückgabewert als Benutzer zu werfen, wenn schließlich der Anruf versuchen, dass diese hinter den Kulissen machen nicht, dass die Daten zurück. Als Umgehung habe ich gerade die Get-User-Methode aufgerufen, um die Nutzer zu holen, nachdem ich die ursprünglichen Ergebnisse aufgerundet habe.

Es kann wohl besser gemacht werden, aber hier ist, was ich

Task<SearchUsersResult> task; 
List<User> users = new List<User>(); 
int page = 1; 

do 
{ 
    task = github.Search.SearchUsers(new SearchUsersRequest("type:user&repos:>=0") { Page = page, PerPage = 500 }); 
    task.Wait(); 

    users.AddRange(task.Result.Items.ToList<User>()); 
    page++; 
} 
while (users.Count < task.Result.TotalCount); 

// Get all users by login (this calls the api once for every user you have) 
var tasks = users.Select(u => github.User.Get(u.Login)); 

// Get all unsuspended users 
var activeUsers = Task.WhenAll<User>(tasks).Result.Where<User>(u => !u.Suspended).ToList(); 

Hinweis jetzt habe, dass die „isSuspended“ Daten im Ergebnis des Aufrufs (von meiner lokalen Unternehmen Instanz gezogen umfasst nicht mit Fiedler und dann saniert)

{"login":"User1" 
"id":45 
"avatar_url":"http://github.com/avatars/u/45?" 
"gravatar_id":"" 
"url":"http://github.com/api/v3/users/User1" 
"html_url":"http://github.com/User1" 
"followers_url":"http://github.com/api/v3/users/User1/followers" 
"following_url":"http://github.com/api/v3/users/User1/following{/other_user}" 
"gists_url":"http://github.com/api/v3/users/User1/gists{/gist_id}" 
"starred_url":"http://github.com/api/v3/users/User1/starred{/owner}{/repo}" 
"subscriptions_url":"http://github.com/api/v3/users/User1/subscriptions" 
"organizations_url":"http://github.com/api/v3/users/User1/orgs" 
"repos_url":"http://github.com/api/v3/users/User1/repos" 
"events_url":"http://github.com/api/v3/users/User1/events{/privacy}" 
"received_events_url":"http://github.com/api/v3/users/User1/received_events" 
"type":"User" 
"site_admin":false 
"ldap_dn":"CN=User1 
OU=CompanyDEVUsers 
OU=Users 
OU=Company 
DC=Company 
DC=com" 
"score":1.0}