我想从 NodeJS 中的 Twitter API 获取用户的个人资料图像。我实际上设法做到了,但它的分辨率非常低。Twitter 是一个 npm 包,“control”包含 Oauth 凭证。这是代码:
var client = new twitter(control);
app.get('/main', function(req, res){
client.get('account/verify_credentials', function(error, params) {
if(error) throw error;
username = params.screen_name;
name = params.name;
image = params.profile_image_url;
res.render("index.ejs", {username: username, name: name, image: image});
});
});
Run Code Online (Sandbox Code Playgroud)
我如何更改请求,使其采用类似的形式以获得更高分辨率的图像。
我正在 Laravel 中使用 Socialite 来登录 Twitter。
我知道并非所有 Twitter 用户的帐户都附有电子邮件,但对于我的应用程序,用户确实需要电子邮件地址。我可以阻止没有附加电子邮件的人登录,但目前每个用户都将电子邮件字段设置为空。
我正在使用这个函数重定向到 Twitter:
return Socialite::driver($provider)->redirect();
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用这样的范围:
return Socialite::driver($provider)->scopes(['email'])->redirect();
Run Code Online (Sandbox Code Playgroud)
但 Twitter 是唯一不允许范围的提供商。
回调返回 Facebook 和 google 等其他提供商的电子邮件地址,但在使用 Twitter 时似乎缺少一些东西。
对于 OAuth1,有一个设置可以启用返回电子邮件字段的选项,但由于 twitter 接受 OAuth2,我在 Twitter 开发人员面板中再也找不到此设置。
由于有关此主题的大多数信息都已过时,因此我将不胜感激。
如果我能做到这一点,我该死的.非常感谢您的帮助.我有有效的访问权限,可以使用twitteroauth发布状态更新.但是:我尝试转发的每一种方式都失败了.
$parameters = array('id' => $status_id);
$retweet = $connection->post('statuses/retweet', $parameters);
Run Code Online (Sandbox Code Playgroud)
获取"未找到"的错误响应.我不确定找不到什么 - 我试图转发的推文的ID,或者我正在调用的方法(状态/转推).我通过请求传递了有效的ID(我可以在Twitter上找到它们),依此类推.有任何想法吗?
这是文档:http://dev.twitter.com/doc/post/statuses/retweet/: id
我也尝试过:
$parameters = array('id' => $status_id);
$retweet = $connection->post('statuses/retweet/', $parameters);
$parameters = array('id' => $status_id);
$retweet = $connection->post('statuses/retweet/:', $parameters);
Run Code Online (Sandbox Code Playgroud)
和...
$retweet = $connection->post('statuses/retweet/:123456.json');
Run Code Online (Sandbox Code Playgroud)
使用空响应(??)或相同的神秘"未找到".
我正在使用twitter-async库对Twitter进行一些oauth调用,但最终,大量内存正在被耗尽.我尝试运行xdebug执行跟踪,这是我觉得内存泄漏的地方.
json_decode()正在使用47077232字节.好的.这可以.
但是gettype()?为什么这也应该使用相似数量的内存?
怎么可以防止这种情况?
脚本循环运行,内存使用量不断增加.我gc_collect_cycles()在很多地方使用它并且它正在显示出改进.但是这个,我无法理解为什么会发生这种情况.
724.1772 47077232 +2118720 -> json_decode() /var/www/html/includes/classes/twitter/EpiTwitter.php:230
724.1926 49157104 +2079872 -> gettype() /var/www/html/includes/classes/twitter/EpiTwitter.php:232
724.1927 49157104 +0 -> property_exists() /var/www/html/includes/classes/twitter/EpiTwitter.php:240
724.1927 49153520 -3584 -> EpiTwitterJson->__destruct() /var/www/html/includes/classes/twitter/EpiTwitter.php:0
724.1949 46714808 -2438712 -> in_array() /var/www/html/cron.php:156
Run Code Online (Sandbox Code Playgroud) 我试图在rails应用程序中使用omniauth-twitter,但我一开始就陷入困境,无法弄清楚原因是什么.我确实在dev.twitter.com注册了我的应用程序,我得到了CONSUMER_KEY和CONSUMER_SECRET.为了缩短测试时间,我将这两个变量直接放在initializers/omniauth.rb中
Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, "an_alphanumeric_code", "some_other_alphanumeric_code"
end
Run Code Online (Sandbox Code Playgroud)
在application.html.erb布局中,我有Twitter登录的链接
<%= link_to "Sign in with Twitter", "auth/twitter" %>
Run Code Online (Sandbox Code Playgroud)
但是当我点击登录时,我没有被重定向到Twitter登录
401 Unauthorized
Run Code Online (Sandbox Code Playgroud)
我已经在SO上检查了其他问题,这不应该是计算机时间问题(我的rails服务器时间设置正确).我怀疑问题在于没有可用于测试的公共IP和服务器名称.
是否有人能够从本地127.0.0.1:3000 rails服务器上运行omniauth-twitter?
我有一个网站列表,我想看看他们是否有Twitter帐户.我很好奇是否在API中搜索了用户名,或者是这种性质的东西.我一直在阅读和环顾四周; 但是,我做得很短.当我可以运行一个函数来为我完成工作时,我不想手动执行此操作.非常感谢关于这个主题的一些反馈.
美好的一天!
我正在开发一个Android应用程序,它允许用户自己配置Twitter消费者密钥和秘密(未配置访问令牌和访问令牌秘密).我想在显示登录页面之前验证如下所示的密钥和密码,但它会引发异常:
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(key, secret);
try {
User user = twitter.verifyCredentials(); // this line throws an exception
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
例外是:
Twitter凭据验证fails.java.lang.IllegalStateException:缺少身份验证凭据.有关详细信息,请参见 http://twitter4j.org/en/configuration.html
有没有办法验证没有访问令牌和访问令牌访问的消费者密钥和密钥?
我正在尝试通过 tweepy API 从 Twitter 获取推文,为此,我编写了以下代码,其中包含用于连接到 pyspark 的套接字,以便进一步分析正在获取的推文。代码:
import tweepy
from tweepy import OAuthHandler
from tweepy import Stream
import socket
import json
consumer_key="IvWeydhuRZoHbigNvX9wl8FbX"
consumer_secret="hv9NnWV64f4ECnK3eqJIhwQiu0SoDMtL1b9ImPJJFPwSSKleOg"
access_token="3945967939-cqy1y3J6cPcKi2fohK3qr5QSB2Z3lrOcs863tPI"
access_secret="oJIXDC37NsRU1FNP4jznCyIVwRiBjaHF9L3qsyxybkykS"
class TweetListener(Stream):
def __init__(self, csocket):
self.client_socket=csocket
def on_data(self, data):
try:
msg = json.loads(data)
print(msg('text').encode('utf-8'))
self.client_socket.send(msg('text').encode('utf-8'))
return True
except BaseException as e:
print('Error %s'%str(e))
return True
def on_error(self, status):
print(status)
return True
def send_data(c_socket):
auth = OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(access_token,access_secret)
twtr_stream = Stream(auth, TweetListener(c_socket))
twtr_stream.filter(track=['ETH'])
s = socket.socket()
host = "127.0.0.1"
port = 5000
s.bind((host,port))
print("Active port …Run Code Online (Sandbox Code Playgroud)