Wenn Sie zuerst genehmigen, die ScreenName
und UserID
des IAuthorizer
wird bevölkert:
var credentials = auth.CredentialStore;
string oauthToken = credentials.OAuthToken;
string oauthTokenSecret = credentials.OAuthTokenSecret;
string screenName = credentials.ScreenName;
ulong userID = credentials.UserID;
Wenn Sie alle 4 Anmeldeinformationen Vorbelastung sind, LINQ zu Twitter-Kurzschlüssen, um Zeit, Bandbreite und Benutzerbelästigung zu sparen, indem der Autorisierungsprozess nicht erneut durchlaufen wird. Der Nebeneffekt ist, dass Sie die ScreenName
und UserID
nicht bekommen, weil diese ein Produkt der Autorisierung sind. Wenn Sie also nach der ersten Autorisierung die Schlüssel eines anderen Benutzers speichern, können Sie sie bei nachfolgenden Abfragen erneut verwenden. Nehmen Sie dann auch die Nummern ScreenName
und UserID
.
Natürlich haben Sie eine andere Möglichkeit, ScreenName
und UserID
zu erhalten. Sie können eine VerifyCredentials
Abfrage, wie dies zu tun:
try
{
var verifyResponse =
await
(from acct in twitterCtx.Account
where acct.Type == AccountType.VerifyCredentials
select acct)
.SingleOrDefaultAsync();
if (verifyResponse != null && verifyResponse.User != null)
{
User user = verifyResponse.User;
Console.WriteLine(
"Credentials are good for {0}.",
user.ScreenNameResponse);
}
}
catch (TwitterQueryException tqe)
{
Console.WriteLine(tqe.Message);
}
Die ScreenName
und UserID
sind in der User
Entität der User
Eigenschaft auf die Account
Stelle zurückgegeben von der VerifyCredentials
Abfrage. Sie heißen ScreenNameResponse
und **UserIDResponse**
Eigenschaften.