OAuth1 -谷歌脚本无法创建Twitter服务



我遇到了麻烦,谷歌脚本连接到Twitter通过API,使用OAuth1认证。以下图片是我在Twitter Apps和Google Script Libraries中的设置。

对不起,我没有足够的信誉来发布图片

图片1:

lh3.googleusercontent.com/7QtiFZPG8z-wAAnJQslsMjncGB0NAu0qQdpZnwiqezJ2HdHOyey90CoCfWkqIm8igzuwOhjypw0Mm7RJaAy_0vMhe0wYNOcdHzeF2zAAwbdk4uvBhk3-vLEM-i2ZQ8uuzelt63PRCD2kOvgEG_x__HxmVN_JAXh3u5ixCbDjovq3HggB_Fz04_lfX28fCdRW6VgQQLg4XK_AEN8INXtXz9OUA8Og3pdfw_GWBXw_zSdtX9KvQ1FaQ6FB7m7ACE5PPfpYRuRpRx3rbu_pw1LIbRdj32RnVcC7__TDWtH8LMDg1Rp1RfL8cImiEbzWSI1c-vGW4jNl27Y1BiSthXmkFeBBDP36q732czWy3nmNpope0I4IeAamNqnWvGxSIWyhHuL5OGEXCbUw7j4CuCQjHG3SKVTcozPPyZ1N8e5er1AUZjTG1vU1QUatV02vyz7s4a-R9MSBvYGfvvRoRiLzBBkqL_SMRPHdAOAZ5SS9x9YHpbCkWU2TXy7mVm9DefwUJwS1TNKGWWKwT67oqax6QVsu0BTBLbXhKIGIK14XkVk = w747-h486-no

图片2:

lh3.googleusercontent.com/RHxefIpYhZLJ3Cm_UyEVFJrlqL0DGkQnhPs1SAyBeVSBEMxqbtJGWxcByUwa1-pSo9DBbwhNMb9Q474Da3WIs5NSYJbq-MEbuIwTfsYU18MDzH2WUXAwkzOa1LkoqnivuCdMn0Ii-gYlKLb94kTsd6Z_qRmlpSJQSfKAREB6SgN-v41YWEGtxdJRKK7qSeDPG2NQurhBmM58wCXccptoamNyt9m6xIyEJ-hVEh_LNJk7Tj6ZeDbSPtW6_kGHASLU3UvUsPNOnY1FdU61IePYAnXrj0AYq0erTiUPWPICkszb8rlvDaKTz7QxxRRqIPhIABclwO6mI8Br500P60ceGKI-bW4ufv56blRE8Ngr2teNaGqEAHFhVTjiltW8I2ngVc7O53zIEu3sce3IDhJast1NeFGjYN0T0OBvOj_hpU9UAhotmd-NCU-YShM6eB62cIaMopdo-VFB6cR1wyH65qlxIA9SeJe7XmPxli1Fd3ZPpLqEHmOYWMnnkuLYursyiKamxZNHxs4ywheDmAjxf6DHB6bgHwF5Sdzpyxcc5F8 = w761-h461-no

下面是获取Twitter服务的代码

enter code here
//Create Twitter Service
function getTwitterService_() {  
// Create a new service with the given name. The name will be used when
// persisting the authorized token, so ensure it is unique within the
// scope of the property store.
return OAuth1.createService('twitter')
  // Set the endpoint URLs.
  .setAccessTokenUrl('https:// api.twitter.com/oauth/access_token')
  .setRequestTokenUrl('https:// api.twitter.com/oauth/request_token')
  .setAuthorizationUrl('https:// api.twitter.com/oauth/authorize')
  // Set the consumer key and secret.
  // Of course these values I will collect from Twitter App Settings
  .setConsumerKey("xxxxxzJzPXqH")
  .setConsumerSecret("xxxxxx")
  // Set the name of the callback function in the script referenced
  // above that should be invoked to complete the OAuth flow.
  .setCallbackFunction('authCallback')
  // Set the property store where authorized tokens should be persisted.
  .setPropertyStore(PropertiesService.getUserProperties());
}

我总是从OAuth1服务得到错误服务未授权。(第271行,文件")

如果有人能帮我摆脱这个麻烦,我真的很感激。

当你在Twitter上创建应用程序时,你必须授权你将通过API读取/写入的帐户。

查看OAuth1文档,关于此的第2点和第3点:

https://github.com/googlesamples/apps-script-oauth1

  • 创建请求令牌并将用户引导到授权URL调试Google App Scripts中的showSidebar功能。在"模板"代码行之前调试,然后你可以在浏览器中复制/粘贴链接并授权应用程序(链接存储在authorizationUrl变量中)。
  • 我的谷歌应用程序脚本没有链接到任何电子表格或文档,这就是为什么我必须调试脚本来获得url。

    在您授予或拒绝权限后,Twitter将重定向到您的回调:

    处理回调

    它会在一个新的选项卡中显示你的应用程序被授予/拒绝的权限。

    然后你可以根据需要通过API向twitter发出请求。

    如果您已经撤销了Twitter帐户的授权,您必须执行

    重置访问令牌(clearService功能)

    …这将清除存储的验证数据,并再次执行2。

    我很想给你看一些这个过程的图片,但是和你一样,我的账户没有足够的声誉(当你很少或没有声誉时,几乎不可能获得一些声誉)。

    最新更新