首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java向Blogger发布

使用java向Blogger发布
EN

Stack Overflow用户
提问于 2015-10-01 09:01:34
回答 1查看 528关注 0票数 1

我对Blogger使用Blogger API发布。然而,出现了一个问题。

我的节目:

代码语言:javascript
复制
try {
        HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
        JsonFactory JSON_FACTORY = new JacksonFactory();
        File file = new File("ExampleMyProject-0000ee0000.p12");

        GoogleCredential credential = new GoogleCredential.Builder()
                .setTransport(HTTP_TRANSPORT)
                .setJsonFactory(JSON_FACTORY)
                .setServiceAccountId("00000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxx77l6@developer.gserviceaccount.com")
                .setServiceAccountScopes(Arrays.asList("https://www.googleapis.com/auth/blogger"))
                .setServiceAccountPrivateKeyFromP12File(file).build();
        credential.refreshToken();
        String accessToken = credential.getAccessToken();

        System.out.println(accessToken);

        Blogger blogger = new Blogger.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
                .setApplicationName("ExampleQuintest").build();
        Post content = new Post();
        content.setTitle("A test post");
        content.setContent("With <code>HTML</code> content");

        Insert postsInsertAction = blogger.posts().insert("MyBloggerID", content);
        postsInsertAction.setFields("author/displayName,content,published,title,url");

        Post post = postsInsertAction.execute();

        System.out.println("Title: " + post.getTitle());
        System.out.println("Author: " + post.getAuthor().getDisplayName());
        System.out.println("Published: " + post.getPublished());
        System.out.println("URL: " + post.getUrl());
        System.out.println("Content: " + post.getContent());

    } catch (GeneralSecurityException | IOException e) {
        e.printStackTrace();
    }

响应值:

代码语言:javascript
复制
{
  "code" : 403,
   "errors" : [ {
    "domain" : "global",
    "message" : "We're sorry, but you don't have permission to access this resource.",
     "reason" : "forbidden"
  } ],
   "message" : "We're sorry, but you don't have permission to access this resource."
}

https://www.googleapis.com/oauth2/v1/tokeninfo?access

代码语言:javascript
复制
{
 "issued_to": "xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
 "audience": "xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
 "scope": "https://www.googleapis.com/auth/blogger",
 "expires_in": 2569,
 "access_type": "offline"
}

我找不到问题。为什么我不能向博主发帖?

EN

回答 1

Stack Overflow用户

发布于 2020-04-13 11:48:53

我知道这是一个很老的问题,但最近我尝试用它的Java客户端发布一个博客,并在上面写了一个博客:从Java客户端使用Blogger API

我认为您需要使用OAuth身份验证而不是服务帐户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32883468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档