Twitter API V2로 트윗을 게시하는 방법

2637 단어 dotnettwitter
다음 게시물은 최신 Twitter API V2를 사용하여 트윗을 자동화하는 쉬운 방법을 보여줍니다.

Twitter에서 받은 OAUTH Access 토큰은 2시간 동안만 유효합니다. 코드는 자동으로 토큰을 새로 고칩니다.

스코프에 offline.access가 필요합니다. 이렇게 하면 refresh token를 얻을 수 있습니다.

NuGet 패키지는 단계별로 개발되어 더 많은 기능을 제공합니다.

전제 조건


  • CodeHelper.Core.OAuth2
  • CodeHelper.Core.OAuth2


  • 액세스 및 새로 고침 토큰 받기


  • 범위: tweet.read%20tweet.write%20users.read%20offline.access
  • 웹 페이지를 만들고 앱 OAUTH 설정에 대한 링크를 추가합니다(로컬 호스트일 수 있음)
  • CodeVerifier는 고유한 텍스트이며 다음 단계에서 다시 필요하므로 임시로 저장해야 합니다. 이 매개변수는 Twitter OAUTH2에 필요합니다.

  • TwitterHelper _twitter = new()
                {
                    ClientId = "CLIENT APP ID";
                    ClientSecret = "CLIENT APP SECRET",
                    RedirectUri = "YOUR PAGE URL TO REDIRECT",
                    Scope = "TWITTER SCOPES,
                    CodeVerifier = "Dhk87jJsks234"
                };
    ViewBag.TwitterOAuthRequestUrl = _twitter.GetOAuthTokenUrl();
    


    ViewBag.TwitterOAuthRequestUrl은 사용자가 클릭해야 하는 링크입니다.

    사용자가 범위를 수락하고 웹페이지로 리디렉션되는 경우




    TwitterHelper _twitter = new()
                {
                    ClientId = "CLIENT APP ID";
                    ClientSecret = "CLIENT APP SECRET",                
                    CodeVerifier = "Dhk87jJsks234",
                    UseUrlEncodedHeader = true,
                    OAuthCode = code,
                };
    await _twitter.GetAccessToken();
    


    액세스 코드, 새로 고침 코드, 만료 날짜는 이제 _twitter 개체를 통해 액세스할 수 있으며 데이터베이스 또는 appsettings 파일에 저장할 수 있습니다.

    트윗 보내기




    async Task SendTweet()
    {
        // Load the Access & Refresh Token, Access Expiry Date
    
        TwitterHelper _twitter = new("CLIENT APP ID",
                                     "CLIENT APP SECRET",
                                     "ACCESS TOKEN",
                                     "ACCESS TOKEN EXPIRY DATE",
                                     "REFRESHTOKEN"
        );
    
        var _tweetID = await _twitter.Tweet("Hello Twitter! via CodeHelper.API.Twitter.V2");
    
        // when changed: save your Access & Refresh Token, Access 
        // Expiry Date
    }
    

    좋은 웹페이지 즐겨찾기