如何将推文发送到我的Twitter帐户?

我的客户中心

每次用户发表评论时,我希望它自动将相同评论发送到我的Twitter。

首先,我已经完成了Twitter开发人员设置。

因此,我在我的应用程序中进行了一项测试操作,以使其向我的Twitter帐户发送一条推文。但是,它说这个错误

NoMethodError (undefined method `[]' for nil:NilClass):
app/controllers/top_controller.rb:173:in `test_action'

我该如何解决?这些是我的密码

已捆绑在一起的相关宝石(我在轨道3.2.11上)

gem 'omniauth-twitter'
gem 'twitter'
gem 'figaro'

config / initializers / omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET']
    Twitter.configure do |config|
        config.consumer_key = ENV["TWITTER_KEY"]
        config.consumer_secret = ENV["TWITTER_SECRET"]
    end
end

配置/ application.yml

TWITTER_KEY: 6TeBX6HkeHzMXesgc
TWITTER_SECRET: JyfOndg8xHcM81KEpgmBT7h2vFJJujMP14YTdt6ruvLbsQk

test_action

def test_action  
    @twitter = Twitter::Client.new(oauth_token: request.env["omniauth.auth"][:credentials][:token], oauth_token_secret: request.env["omniauth.auth"][:credentials][:secret])
    @twitter.update("Your message")
    flash[:notice] = "Successfully tweeted on your account."
    redirect_to root_path
    return 
end
abcm1989

我认为您的问题可能与您的Twitter控制器配置有关:

代替:

@twitter = Twitter::Client.new(oauth_token: request.env["omniauth.auth"][:credentials][:token], oauth_token_secret: request.env["omniauth.auth"][:credentials][:secret])

试试这个:

@twitter = Twitter::REST::Client.new do |config|
  config.consumer_key = ENV['CONSUMER_KEY']
  config.consumer_secret = ENV['CONSUMER_SECRET']
  config.access_token = request.env["omniauth.auth"][:credentials][:token]
  config.access_token_secret = request.env["omniauth.auth"][:credentials][:secret]
end

您可能还需要确认您的API密钥具有读写权限,您可以在此处检查您的Twitter开发人员帐户

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将数据从对话框发送到我的活动Kotlin?

如何将请求永久发送到我的http服务器

如何将哈希表发送到我的客户插座?

如何将事件发送到我的(子)UIView?

如何将项目添加到我的“发送到”上下文菜单

如何将时间值从Postman发送到我的REST API

如何将多个参数作为单个实体从jquery发送到我的Controller?

如何将2个对象发送到我的API(ASP.NET)?

如何将nagios警报通过电子邮件发送到我的gmail?

RoborFramework:如何将标签名称发送到我的关键字中

如何将int数组发送到我的着色器

如何将值从 html 中的按钮组发送到我的 php 代码?

如何将参数中的Id发送到我的服务器?

如何将控制台输出发送到我的电子邮件?

如何将OTP从服务器发送到我的android应用程序?

如何将测试结果作为参数发送到我的 python 脚本?

Eclipse 更改后将构建发送到我们的旧帐户

如何将 React.js 组件从我的 node.js 发送到我的客户端?

使用Django进行日期过滤-如何将开始日期和结束日期发送到我的视图中?

React Navigation(v2)如何将道具传递到我的TabNavigator并将这些道具发送到屏幕

从Keycloak(用户->更新,删除)时如何将事件发送到我的服务器?

如何将信息从嵌入式 iframe 发送到我的网站(该 iframe 嵌入的位置)

如何将views.py中的数字列表发送到我在前面使用的chartjs文件?

我如何将类型发送到功能

将数据发送到我的母版页

如何触发应用程序将数据发送到我的服务器?

如何通过子进程将Ctrl键发送到我的终端?

如何获取提交按钮以将参数发送到我在Typescript中的端点,反应?

如何找出将“ agent.remove”发送到我的moveTo块的原因?