2019년 8월 13일 화요일

C# Google API Blogger 예제

주로 REST API 호출 예제가 많은데, 구글에서 제공되는 닷넷 API Lib 사용 예제. 인증 부분에서 한참을 헤메다가.. 그리고 API 통해서 포스트내 이미지 업로드 추가는 어떻게 하는건지 못찾음 (지원 안되는것 같음?)


using System.Net.Security;
using Google.Apis.Blogger.v3.Data;
using Google.Apis.Blogger.v3;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Util.Store;
using Google.Apis.Services;


// 인증

UserCredential credential;

using (var stream = new FileStream("client_secret_oauth.json", FileMode.Open, FileAccess.Read))
{
    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
        GoogleClientSecrets.Load(stream).Secrets,
        new[] { "https://www.googleapis.com/auth/blogger" },    // https://developers.google.com/apis-explorer/#p/blogger/v3/ 에서 허용 설정
        "abc", // 구분값
        CancellationToken.None,
        new FileDataStore("Auth.Blogger")).Result;
}

string blogUrl = "http://bitsyrup.blogspot.com";
BloggerService BloggerService = new BloggerService(new BaseClientService.Initializer()
{
    HttpClientInitializer = credential,
    ApplicationName = "My Project 20108",
});

// 블로그 정보

var BlogResource = BloggerService.Blogs.GetByUrl(blogUrl);
Blog blog = BlogResource.Execute();
Console.WriteLine("Blog ID: " + blog.Id);

// 포스트 데이터

Post PostData = new Post();
PostData.Title = DateTime.Now.ToString() + " " + " - test";
PostData.Content = "xxx23232  <br /><br /> ";
// PostData.Images.Add(xxx);  // 이건 어떻게 작동? 활용 하는건지 못찾음. 예제 없음

// 포스트 올리기

PostsResource PostsResource = new PostsResource(BloggerService);
var post = PostsResource.Insert(PostData, blog.Id).Execute();
Console.WriteLine(post.Id);

// 포스트 목록

PostsResource.ListRequest _request = new PostsResource.ListRequest(_bloggerService, blog.Id);
_request.MaxResults = 50;
_request.FetchBodies = false;
_request.FetchImages = false;

foreach (var _item in _request.Execute().Items)
{
}

댓글 없음:

댓글 쓰기

2019년 10월 MS 취약점 패치 주요 사항

CVE-2019-1166 | Windows NTLM 변조 취약성 https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1166 CVE-2019-1230 | Hype...