當你第一次授權,該IAuthorizer
的ScreenName
和UserID
將被填充:
var credentials = auth.CredentialStore;
string oauthToken = credentials.OAuthToken;
string oauthTokenSecret = credentials.OAuthTokenSecret;
string screenName = credentials.ScreenName;
ulong userID = credentials.UserID;
如果你預先加載所有4個憑證,LINQ到Twitter短路,通過不再通過授權過程來節省時間,帶寬和用戶煩惱。副作用是你沒有得到ScreenName
和UserID
,因爲這些是授權的產物。因此,如果您在初始授權後保存了某人的密鑰,那麼您可以在隨後的查詢中再次使用它們,然後在當時抓取ScreenName
和UserID
。
當然,你有另一種方式獲得ScreenName
和UserID
。你可以做一個VerifyCredentials
查詢,例如:
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);
}
的ScreenName
和UserID
是在Account
實體User
財產User
實體從VerifyCredentials
查詢返回。它們分別命名爲ScreenNameResponse
和**UserIDResponse**
性質。