Когда вы первый санкционировать, то ScreenName
и UserID
из IAuthorizer
будет заполняться:
var credentials = auth.CredentialStore;
string oauthToken = credentials.OAuthToken;
string oauthTokenSecret = credentials.OAuthTokenSecret;
string screenName = credentials.ScreenName;
ulong userID = credentials.UserID;
Если вы предварительно загружаются все 4 учетных данных LINQ чтобы щелкать короткие замыкания, чтобы сэкономить время, пропускную способность и раздражение пользователя, не пройдя снова процесс авторизации. Побочным эффектом является то, что вы не получаете 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
находятся в User
субъекте User
собственности на Account
лиц вернулся из VerifyCredentials
запроса. Они называются ScreenNameResponse
и **UserIDResponse**
свойства, соответственно.