【问题标题】:First name and last name to Twitter handleTwitter 句柄的名字和姓氏
【发布时间】:2016-03-19 05:08:11
【问题描述】:

我有一个我想关注的人(名字和姓氏)的列表,但我不想单独使用 Google 或通过 Twitter 搜索他们。获取 Twitter 句柄的最佳方式是什么?一些 GitHub 存储库或教程也可以。

【问题讨论】:

  • 当 Twitter 搜索可以为您提供直接结果时,您为什么不想要呢?使用 Twitter 搜索 API,如果您使用 Java,请使用 twitter4j

标签: twitter


【解决方案1】:

Twitter 提供“User Search”API 请求。

如果您想搜索名为“Ada Lovelace”的用户,您需要向

发送 OAuth 请求
https://api.twitter.com/1.1/users/search.json?q=Ada%20Lovelace

您将获得结果列表。可能有很多人的名字和姓氏相同。

至于如何,这取决于你想使用的编程语言。

如果您只想要一个可点击的链接,请使用https://twitter.com/search?q=Terence%20Eden

【讨论】:

    【解决方案2】:

    所以首先这个问题是题外话,但我会尝试为你写一个答案。您可以为此使用 twitter api,但如果您只想为您执行此操作,这可能有点过头了。

    我为你做了一个 API

    我使用 KimonoLabs 为您制作了一个 API。您可以使用它,只需制作一个循环遍历您的列表并每次请求此 api 的脚本,然后返回结果列表。这是 API 端点: https://www.kimonolabs.com/api/duwxgie4?apikey=D6UKiTtKU93kv0YJj8i3kFBAbsIjdSTC&q=PERSON%20NAME

    &q= 是人名的参数。要分隔名字和姓氏,请使用 %20,如下所示:Robert%20Keus

    这个 api 的文档在这里: https://www.kimonolabs.com/apis/duwxgie4

    如果您需要任何帮助,请告诉我,

    卢卡

    【讨论】:

    • 谢谢!帮了我很多!
    【解决方案3】:

    最新答案@2016

    第一个解决方案:我编写了以下 node.js 脚本。您需要公开发布的 google doc 电子表格的 access_tokenid。出于测试目的,我在以下代码中提供了示例电子表格的链接及其id

    var Twit = require('twit'),
        async = require('async');
    
    var T = new Twit({
        consumer_key:         'xxxxxxxx',
        consumer_secret:      'xxxxxxxxxxxxxxxxxxxxxxxxxx',
        access_token:         'xxxxxxxxxxx',
        access_token_secret:  'xxxxxxxxxxxxxxxxxxxxxxxxx',
        timeout_ms:           60*1000  // optional HTTP request timeout to apply to all requests.
    });
    
    //https://docs.google.com/spreadsheets/d/1n7DxgJTTHZ9w3xwiHokUhXMLkBwpP5c9ZLFmsYFDCic/edit?usp=sharing
    
    var GoogleSpreadsheet = require("google-spreadsheet"),
        _ = require('underscore');
    
    var sheetId = req.params.sheet || "1n7DxgJTTHZ9w3xwiHokUhXMLkBwpP5c9ZLFmsYFDCic",
        sheet = new GoogleSpreadsheet(sheetId);
    
    async.waterfall([
        function (cb) {
            sheet.getRows(1, {}, function (err, rows) {
                if (err) { res.send(err); return;};
                var names = [];
                _.each(rows, function (row) {
                    names.push(row.first + " " + row.last);
                });
                cb(null, names);
            });
        },
        function (names, callback1) {
    
            async.map(names, function(name, cb){
                T.get('users/search', { q: name, page: 1 }, function (err, data, response) {
                    if(data.length)
                        cb(null, {screen_name: data[0].screen_name, name:data[0].name});
                    else
                        cb(null, {screen_name: "no_data_retrieved", name: name});
                });
            }, function (err, results) {
                callback1(null, results);
            });
    
        },
        function (users, callback) {
            console.log(users); //**YOU GET ALL DESIRED DATA HERE**
        }
    ], function (err, result) {
        //handle in memory data
    });
    

    第二种解决方案:克隆节点作弊twitter-screen-names,运行npm install并射击node server,现在在浏览器中将所有推特usernames设为json

    乐于助人!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-22
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多