前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用程序实现给简书专题投稿

用程序实现给简书专题投稿

作者头像
前端GoGoGo
发布2018-08-24 16:04:47
2860
发布2018-08-24 16:04:47
举报

如果你想将最新写的文章投稿给专栏 首页投稿程序员Web前端之路。只需在浏览器开发者工具的控制台中拷贝如下代码,并运行。

submitArticle(14726) // 14726 是首页投稿的id
submitArticle(3) // 3 是程序员 id
submitArticle(65506) // 65506 是Web前端之路的id
/*
 * 给专栏投稿
 * @params collectionId: 专题id
 * @params articleIndex: 投稿文章序号。默认值是最新文章的序号。最新文章的序号是 0,第二新的 是 1,以此类推。
 */
function submitArticle(collectionId, articleIndex = 0) {
  var collection
  var article

  fetchCollectionInfo(collectionId).done(data => {
    collection = data
    fetchArticleList(collection.id).done(articles => {
      article = articles[articleIndex]
      $.ajax({
        url: `http://www.jianshu.com/notes/${article.id}/submit`,
        type: 'post',
        data: JSON.stringify({
          collection_id: collection.id
        }),
        contentType: 'application/json'
      }).done(data => {
        alert(`${article.title} 投稿 ${collection.title} 成功!`)
      }).fail(data => {
        alert(`${article.title} 投稿 ${collection.title} 失败:${data.responseJSON.error}`)
      })
    }).fail(data => {
      dfd.reject(data)
    })
  })
}

// 获取我的文章列表
function fetchArticleList(collectionId) {
  return $.ajax({
    url: `http://www.jianshu.com/collections/${collectionId}/contribute_notes?page=1`,
  })
}

// 获取专栏信息
function fetchCollectionInfo(id) {
  var dfd = $.Deferred()
  $.ajax({
    url: `http://www.jianshu.com/subscriptions/${id}`,
  }).done(data => {
    dfd.resolve(data.source)
  }).fail(data => {
    dfd.reject(data)
  })
  return dfd.promise()
}

如果你要用上面的程序给其他专栏投稿,只需执行 submitArticle(专栏id)

如何获得专栏 id

见下图

找专题的id.png

程序简单解释

我们在给某个专题投稿时,浏览器向服务器发送了如下请求:

投稿地址

代码做的事是

  1. 获得了投稿文章的id 和 专题的id。
  2. 向服务器发送发上面的请求。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.01.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何获得专栏 id
  • 程序简单解释
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档