android:如何从twitter获取趋势?

2024-04-04

我想从 Twitter 获取趋势。任何人都可以帮我解决这个问题吗?我已经使用以下方式登录了login button并且获得了活跃的会话,现在问题是如何获取趋势标签。


https://dev.twitter.com/rest/reference/get/trends/place https://dev.twitter.com/rest/reference/get/trends/place

示例请求:

https://api.twitter.com/1.1/trends/place.json?id=1 https://api.twitter.com/1.1/trends/place.json?id=1

id 是哪里WOEID- 雅虎!地球上的哪个位置 位置 ID

对于全局:1

印度:23424975

访问 twitter api 需要授权作为标题。

public class ConstantsUtils {

    public static final String URL_ROOT_TWITTER_API = "https://api.twitter.com";
    public static final String URL_SEARCH = URL_ROOT_TWITTER_API + "/1.1/search/tweets.json?q=";
    public static final String URL_AUTHENTICATION = URL_ROOT_TWITTER_API + "/oauth2/token";

    public static final String URL_INDIA_TRENDING ="https://api.twitter.com/1.1/trends/place.json?id=23424977";


    public static final String CONSUMER_KEY = "your key";
    public static final String CONSUMER_SECRET = "your key";


}

为了得到授权 Token

public static final String TAG = "TwitterUtils";

    public static String appAuthentication() {

        HttpURLConnection httpConnection = null;
        OutputStream outputStream = null;
        BufferedReader bufferedReader = null;
        StringBuilder response = null;

        try {
            URL url = new URL(ConstantsUtils.URL_AUTHENTICATION);
            httpConnection = (HttpURLConnection) url.openConnection();
            httpConnection.setRequestMethod("POST");
            httpConnection.setDoOutput(true);
            httpConnection.setDoInput(true);

            String accessCredential = ConstantsUtils.CONSUMER_KEY + ":"
                    + ConstantsUtils.CONSUMER_SECRET;
            String authorization = "Basic "
                    + Base64.encodeToString(accessCredential.getBytes(),
                            Base64.NO_WRAP);
            String param = "grant_type=client_credentials";

            httpConnection.addRequestProperty("Authorization", authorization);
            httpConnection.setRequestProperty("Content-Type",
                    "application/x-www-form-urlencoded;charset=UTF-8");
            httpConnection.connect();

            outputStream = httpConnection.getOutputStream();
            outputStream.write(param.getBytes());
            outputStream.flush();
            outputStream.close();
            // int statusCode = httpConnection.getResponseCode();
            // String reason =httpConnection.getResponseMessage();

            bufferedReader = new BufferedReader(new InputStreamReader(
                    httpConnection.getInputStream()));
            String line;
            response = new StringBuilder();

            while ((line = bufferedReader.readLine()) != null) {
                response.append(line);
            }

            Log.d(TAG,
                    "POST response code: "
                            + String.valueOf(httpConnection.getResponseCode()));
            Log.d(TAG, "JSON response: " + response.toString());

        } catch (Exception e) {
            Log.e(TAG, "POST error: " + Log.getStackTraceString(e));

        } finally {
            if (httpConnection != null) {
                httpConnection.disconnect();
            }
        }
        return response.toString();
    }

为了获取趋势。

    public static String getTimelineForSearchTerm(String twitt_url,
            Context context) {
        HttpURLConnection httpConnection = null;
        BufferedReader bufferedReader = null;
        StringBuilder response = new StringBuilder();

try {
                URL url = new URL(ConstantsUtils.URL_INDIA_TRENDING);
                httpConnection = (HttpURLConnection) url.openConnection();
                httpConnection.setRequestMethod("GET");

                String jsonString = appAuthentication();
                JSONObject jsonObjectDocument = new JSONObject(jsonString);
                String token = jsonObjectDocument.getString("token_type") + " "
                        + jsonObjectDocument.getString("access_token");
                httpConnection.setRequestProperty("Authorization", token);

                httpConnection.setRequestProperty("Authorization", token);
                httpConnection.setRequestProperty("Content-Type",
                        "application/json");
                httpConnection.connect();

                bufferedReader = new BufferedReader(new InputStreamReader(
                        httpConnection.getInputStream()));

                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    response.append(line);
                }

                Log.d(TAG,
                        "GET response code: "
                                + String.valueOf(httpConnection
                                        .getResponseCode()));
                Log.d(TAG, "JSON response: " + response.toString());

            } catch (Exception e) {
                Log.e(TAG, "GET error: " + Log.getStackTraceString(e));

            } finally {
                if (httpConnection != null) {
                    httpConnection.disconnect();

                }
            }
        }
        return response.toString();
    }

要获取 yahoo WOEID,只需传递您所在位置的纬度和经度。

http://where.yahooapis.com/v1/places.q('"
                        + latitude
                        + ","
                        + longitude
                        + "')?appid=yourappid&format=json"

请阅读有关获取授权请求和获取授权标头的信息

https://dev.twitter.com/oauth https://dev.twitter.com/oauth

https://dev.twitter.com/oauth/application-only https://dev.twitter.com/oauth/application-only

https://dev.twitter.com/oauth/overview/authorizing-requests https://dev.twitter.com/oauth/overview/authorizing-requests

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android:如何从twitter获取趋势? 的相关文章

  • getItem 与 getItemAtPosition

    有两种方法可以获取列表视图中的选定项目 list getAdapter getItem position list getItemAtPosition position 我的问题是 哪一种是首选的做法 我见过人们同时使用这两种方法 您可以使
  • Android SoundPool 堆限制

    我正在使用 SoundPool 加载多个声音剪辑并播放它们 据我所知 它的功能 100 正确 但在 load 调用期间 我的日志中充斥着以下内容 06 09 11 30 26 110 ERROR AudioCache 23363 Heap
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 如何从 SQLite 获取记录总数

    我正在尝试从 Sqlite DB 获取行的总数 以下是我想要做的代码片段 我不知道我在这里做错了什么 public static int getTotalCount Context context Cursor c null try c g
  • Phonegap - 如何将.txt文件保存在Android手机的根目录中

    我正在尝试使用phonegap 将 txt 文件保存在Android 手机的根目录中 我已经安装了这些插件 cordova plugin file 和 cordova plugin file transfer 在 config xml 文件
  • Android libgdx 首选项丢失

    我在 Libgdx 引擎中创建了 Android 游戏 一段时间后 我注意到在某些应用程序杀手中杀死该应用程序后 或者如果我在 Android 设置中执行 强制关闭 操作 我保存到首选项中的游戏选项就会丢失 有办法防止这种情况吗 我从来没有
  • (Ionic 2)尝试回退到 Cordova-lib 执行时发生错误:TypeError:无法读取未定义的属性“then”

    Edit 使用 ionic 2 时会发生这种情况 我知道它还不稳定 但我认为可能有一些解决方案 因为其他人似乎没有遇到这个问题 Edit end 由于某种原因 我在尝试使用 ionic build android 和 ionic build
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • 获取 AlarmManager 中活动的 PendingIntents 列表

    我有办法获取活动列表PendingIntent在设备中 我开始工作AlarmManager我想看看我的PendingIntents 已正确创建和删除 也很高兴看到其他什么PendingIntent在那里 只是为了看看某些应用程序是否正在做一
  • TextView 之间有分隔线

    我正在尝试在 android studio 中创建以下布局 因为我对 android 东西还很陌生 所以我第一次尝试使用 LinearLayout 并认为这可能无法实现 现在我正在尝试使用RelativeLayout 我已经用颜色创建了这个
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • 材质设计图标颜色

    应该是哪种颜色 暗 材质图标 在官方文档上 https www google com design spec style icons html icons system icons https www google com design s
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • 在 Android 上按下电源按钮时,如何防止先调用 onDestroy() 再调用 onCreate()

    我正在记录每个 onCreate 和 onDestroy 调用 我发现 一旦我单击 Android 上的电源按钮 以及模拟器上的电源按钮 我的活动中就会拨打电话 gt onDestroy gt onCreate 这会杀死我的游戏 然后立即从
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框

随机推荐

  • 使用从 csv 文件读取的矩阵中的 corrplot 函数时,“dimnames”[2] 的长度不等于数组范围

    我想从 csv 文件读取数据 将其保存为矩阵并将其用于可视化 data lt read table Desktop Decision Tree cor test csv header F sep data V1 V2 V3 V4 V5 V6
  • 如何使用RDD API反转reduceByKey的结果?

    我有一个 key value 的 RDD 我将其转换为 key List value1 value2 value3 的 RDD 如下所示 val rddInit sc parallelize List 1 2 1 3 2 5 2 7 3 1
  • 在Gtk中,是否可以使小部件淡入淡出?

    我想要一个Label 或者至少是标签上的文字 进行快速淡入 看起来这是可能在混乱中 http blog didrocks fr index php post Design experience and demos in GTK Clutte
  • 找不到 Magick-config [重复]

    这个问题在这里已经有答案了 可能的重复 ImageMagick RMagick 无法安装 RMagick 2 13 1 找不到 Magick 配置 https stackoverflow com questions 3894225 imag
  • 为什么在循环之外生成随机数会导致它始终相同?

    当我在 while 循环内创建一个随机数作为局部变量时 一切正常 但是当我生成一个随机数作为全局变量时 我就会陷入无限循环 我不明白这会如何以及为什么会产生任何影响 目标是通过 While 循环输出所有小于 0 7 的随机数 这是创建无限循
  • OnResume 相机重新初始化黑屏

    我有个问题 初始化相机进行预览并使另一个应用程序进入焦点后 然后返回我的应用程序 预览显示为黑色 如果我继续拍照 它会拍摄我通常将相机指向的位置的照片 我在 OnResume 覆盖上做错了什么吗 相关代码如下 public void Rel
  • Safari 忽略 tabindex

    我在一个文本框旁边有 2 个按钮 在这两个按钮后面有另一个文本框 第一个文本框的 tabindex 为 1000 第一个按钮为 1001 第二个按钮为 1002 第二个文本框的 tabindex 为 1003 当我按 Tab 时 tabin
  • 在 Mac 终端的 vim 语法突出显示中启用斜体

    我想让 vim 以斜体显示我的评论 并且我知道我需要放置 cterm italic in the hi Comment 我正在使用的 color vim 文件中的行 然而 这对文本显示没有影响 我怀疑这与某些 Terminal app 设置
  • 如何在java中加载和使用本机库?

    我有一个 java 类 调用本机方法并尝试加载库 import java io UnsupportedEncodingException public class Main public static native String getMy
  • C hsearch 查找之前未输入的值

    这是一个后续问题这个问题 https stackoverflow com q 34749026 2451238 Since I solved https stackoverflow com a 34749797 2451238我感觉剩下的问
  • python pandas:将带有参数的函数应用于一系列

    我想将带有参数的函数应用于 python pandas 中的一系列 x my series apply my function more arguments 1 y my series apply my function more argu
  • 如何让CSS输入范围拇指首先不出现

    我正在进行食物成瘾调查 我需要一个如下所示的输入范围 from https css tricks com styling cross browser company range inputs css https css tricks com
  • 如何在适用于 Android 的 Google Analytics v4 SDK 中通过 XML 配置试运行和日志级别选项?

    The 参数 https developers google com analytics devguides collection android v4 parametersGoogle Analytics v4 SDK 使用的 XML 配
  • 更新应用程序-Android

    我正在开发一个 Android 应用程序 我的应用程序包含一个本地数据库 位于应用程序的 assests 文件夹中 当用户安装应用程序时 它会复制数据库以便使用它 然后用户可以向其中添加项目 我的问题是 如果我将为我的应用程序发布更新 它会
  • distanceFromLocation - 计算两点之间的距离

    只是一个关于核心位置的简单问题 我正在尝试计算两点之间的距离 代码如下 void locationChange CLLocation newLocation CLLocation oldLocation Configure the new
  • Python Tesseract 无法识别这种字体

    我有这个图像 我想使用 python 将其读取为字符串 我认为这并不难 我发现了 tesseract 然后是使用 tesseract 的 python 脚本的包装器 所以我开始阅读图像 效果很好 直到我尝试阅读这张图像 我是否需要训练它来读
  • Java中小型不可变对象的缓存策略?

    我正在开发一个应用程序 它创建大量小型 不可变的 Java 对象 一个例子可能是 public class Point final int x final int y final int z 许多 Point 实例可能需要引用相同的 x y
  • 在哪里使用带循环的 return 语句?

    有时我会感到困惑where使用return陈述 我明白它的作用 只是我没有正确理解它的位置 这是相同代码的简短示例 正确方法 def product list list of numbers c 1 for e in list of num
  • 使用 URI (Xamarin) 的 Android FFImageLoading

    我正在尝试从光标加载联系人图像 因此我有每个图像的 URI 但我想使用 FFImageLoading 库将这些图像添加到视图中 以便我可以轻松加载占位符并进行圆形变换 但是 我在使用具有 URI 的库时遇到困难 我尝试使用 Path 将 U
  • android:如何从twitter获取趋势?

    我想从 Twitter 获取趋势 任何人都可以帮我解决这个问题吗 我已经使用以下方式登录了login button并且获得了活跃的会话 现在问题是如何获取趋势标签 https dev twitter com rest reference g