【问题标题】:How can I allow a user to post to Twitter from my JavaScript/PhoneGap application?如何允许用户从我的 JavaScript/PhoneGap 应用程序发布到 Twitter?
【发布时间】:2012-10-10 12:51:45
【问题描述】:

我正在尝试实现一个小的 Javascript/PhoneGap 实用程序,它可以在 twitter 上发布推文。

到目前为止,我得到了这个:

var authorize_url = 'https://oauth.twitter.com/2/authorize';
authorize_url += '?oauth_callback_url=' + encodeURIComponent(mycallbackUrl);
authorize_url += '&oauth_mode=flow_web_client';
authorize_url += '&oauth_client_identifier=' +*****;
authorize_url += '&response_type=token';
authorize_url += '&client_id' + *****;  

这个生成的 URL 将显示 twitter 登录屏幕,在我登录后,回调 url 显示有两个参数; oauth_access_tokenoauth_bridge_code

到目前为止一切顺利,但下一部分让我感到困惑。

这个 oauth_access_token 是否足以代表用户发布推文?还是我必须采取进一步的身份验证步骤?如果没有,我如何在对http://api.twitter.com/1/statuses/update.json 的调用中使用令牌来实际发布推文?

twitter API 文档无法帮助我,因此非常感谢所有帮助!

【问题讨论】:

    标签: javascript twitter twitter-oauth


    【解决方案1】:
    var mediaSource = "http://twitter.com/home?status={TITLE}";
    mediaSource = mediaSource.replace('{TITLE}',"Text to share in Twitter");
    
    window.location = mediaSource;
    

    这可能会对你有所帮助。

    【讨论】:

      【解决方案2】:

      您正在使用不受支持的身份验证方法,Twitter 可能随时更改/中断。建议您使用官方支持的 OAuth 流程。 https://dev.twitter.com/pages/auth

      【讨论】:

      • 嗨,亚伯拉罕,感谢您的帮助!我已经从@Anywhere javascript 库中提取了提到的 authorize_url,该库(据我所知)由 twitter 正式支持。所以我猜他们在使用@Anywhere 时会使用类似的 URL (oauth.twitter.com/2/<something here>) 来发布推文。这是真的吗?
      • @anywhere 的记录功能(如 tweetbox、hovercard 等)是公开的,但底层身份验证被认为是私有的,第三方开发人员不支持。
      猜你喜欢
      • 2011-12-12
      • 1970-01-01
      • 2013-09-02
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 2016-06-09
      • 2016-07-16
      相关资源
      最近更新 更多