Android 的 OAuth

2024-01-14

我正在尝试访问 Yelp API。我已经获得了我的钥匙,并阅读了大约 40 篇文章来解释我需要做什么,并且我已经尝试了一切。密钥和非密钥均有效。我得到以下信息:

05-16 17:39:54.955: E/AndroidRuntime(538): java.lang.NoClassDefFoundError: oauth.signpost.commonshttp.CommonsHttpOAuthConsumer

我导入了 commons-codec-1.6 jar、signpost-commonshttp4-1.2.1.2.jar 和 signpost-core-1.2.1.2.jar。

我仍然收到错误消息。有什么帮助吗?

import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

import oauth.signpost.OAuth;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;


/**
 * Example for accessing the Yelp API.
 */
public class Yelp {
  private String consumerKey = "";
  private String consumerSecret = "";
  private String token = "";
  private String tokenSecret = "";

  /**
   * Search with term and location.
   *
   * @param term Search term
   * @param latitude Latitude
   * @param longitude Longitude
   * @return JSON string response
   */
  public String search(String term, double latitude, double longitude) throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException {



    try {
        OAuthConsumer myConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret);
        myConsumer.setTokenWithSecret(token, tokenSecret);

        String urlToPost = "http://api.yelp.com/v2/search";
        Map<String, String> myMap = new HashMap<String, String>();
        myMap.put(OAuth.OAUTH_CONSUMER_KEY, consumerKey);
        myMap.put(OAuth.OAUTH_TOKEN, token);
        myMap.put(OAuth.OAUTH_SIGNATURE_METHOD, "HMAC-SHA1");
        myMap.put(OAuth.OAUTH_SIGNATURE, tokenSecret);
        myMap.put(OAuth.OAUTH_TIMESTAMP, Long.toString(System.currentTimeMillis() / 1000L));
        myMap.put(OAuth.OAUTH_NONCE, "asdf");

        urlToPost = OAuth.addQueryParameters(urlToPost, myMap);

        HttpURLConnection myCon = (HttpURLConnection) (new URL(urlToPost)).openConnection();
        myConsumer.sign(myCon);

        myCon.connect();
        return myCon.getResponseMessage();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
  }
}

转到项目 -> 属性,并在 Java 构建路径 -> 订单和导出选项卡下确保选中这些 JAR。

而且,仅供将来参考,如果这些是您真正的钥匙,我会确保not将它们放在公共网站上。只是在说。

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

Android 的 OAuth 的相关文章

  • 如何从 SDK 实现每个会话的 Google Places 自动完成功能?

    是否可以从 Android 和 iOS 应用程序的 place sdk 实现基于会话的自动完成 根据 6 月 11 日生效的新 Google 地图框架定价 对自动完成的请求可以分为基于击键 会话的请求 我找不到描述实施步骤的文档 除了这个参
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • AdapterContextMenuInfo 始终为 null

    我尝试通过 android 开发文档中的书来做到这一点 this didn t create a menu i don t know why registerForContextMenu getListView setListAdapter
  • Android 初学者:Android gridview 中的触摸事件

    我正在使用以下代码来使用 gridview 执行操作 稍作修改http developer android com resources tutorials views hello gridview html http developer a
  • Android应用程序组件销毁和重新创建的详细信息

    有人可以向我提供一些具体的 值得信赖的 最好是简洁的 信息 内容如下 系统销毁和 如果适用 重新创建组件的顺序 片段 活动 活动的线程 异步任务 计时器 静态数据 类何时卸载 其他类中的线程 异步任务 定时器 主机 TabActivity
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • Android 构建发布失败,原因为:java.lang.ArrayIndexOutOfBoundsException:213(pr​​oguard 问题)

    我的项目使用调试构建变体构建得很好 但使用发布变体 Android Studio 会抛出 引起原因 java lang ArrayIndexOutOfBoundsException 213 可能是什么问题 如果我设置minifyEnable
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • 您使用什么物理 Android 设备进行测试?

    有什么好的推荐用于测试目的的物理 Android 设备吗 我正在苹果阵营寻找像 iPod touch 这样的设备 可以帮助 iOS 开发人员测试他们的东西 我知道有 Nexus One 但那东西相当昂贵 而且我并不真正关心手机的东西 而是可
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne
  • Android 屏幕方向错误

    我使用的是 Android HTC HERO 2 1 版本 我写的活动

随机推荐

  • Android Studio 是否有层次结构查看器或布局检查器?

    我尝试在这里搜索但找不到答案 我正在寻找一种方法来启动层次结构查看器 http developer android com tools help hierarchy viewer html从 Android Studio 中启动 而不必在命
  • openGL:带有着色器的线条

    如何使用着色器创建一条线 可能是彩色的 我正在使用可编程管道 并且我是 openGL 的初学者 我找不到有关如何使用着色器绘制线条的示例 我想我必须将 VAO 顶点数组对象 加载到着色器中 但是然后呢 我应该使用哪些功能以及如何使用 首先
  • 从 Shell 脚本 /bin/sh 运行 FFMPEG

    我正在尝试设置一个 Shell 脚本以在自动化监视文件夹中工作 除了运行 Shell 脚本部分之外 一切正常 本质上 当文件出现在监视文件夹中时 它会运行调用 FFMPEG 的 shell 脚本 然后将文件移动到存档文件夹以安全保存 然而现
  • 基于 Cognito ID 的 S3 文件夹访问 IAM 策略

    我创建了一个 IAM 策略来允许 Cognito 用户写入我的 S3 存储桶 但我想根据他们的 Cognito ID 将它们限制为文件夹 我已按照亚马逊的说明进行操作here http docs aws amazon com IAM lat
  • 在我的 DbHelper 类的 oCreate 中插入记录时,递归调用 getDatabase

    当我尝试在从 SQLiteOpenHelper 扩展的 DbHelper 类的 onCreate 方法中插入记录时 将会出现此错误 我发现了一些类似的主题 Android getDatabase 递归调用 https stackoverfl
  • python 函数默认参数只计算一次? [复制]

    这个问题在这里已经有答案了 我是一个Python初学者 正在阅读 Python教程 它说如果我们有一个函数 def f a L L append a return L print f 1 print f 2 print f 3 这将打印 1
  • JavaScript 验证足以保证我的表单安全吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在建立一个网站 我对登录 注册页面上的表格有疑问 我在登录页面上有一些标准的 javascript 验证 我的问题是 如果禁用了 javas
  • 如何在Android Q中从Uri获取图像的实际路径?

    我正在使用相机拍照并从图库中进行选择 之后进行压缩以减小文件大小 我正在使用getRealPathFromURI 获取实际图像路径的方法 但在 Android Q 中MediaStore Images Media DATA已弃用 fun g
  • QML 中是否有来自 TreeView 的本机数据模型?

    QT 文档暗示 QAbstractItemModel 的任何实现都可以用于 TreeView 这些模型通常是用C 编写的 目前还不方便 那么是否有可以在树视图中使用的原生 QML 模型 我可以从 C 设置 QStandardItemMode
  • 如何将列表中的位置绑定到该元素的属性?

    我有一个ObservableList
  • MySQL 错误:“列‘columnname’不能是 FULLTEXT 索引的一部分”

    最近 我将一堆列更改为 utf8 general ci 默认的 UTF 8 排序规则 但是当尝试更改特定列时 我收到了 MySQL 错误 Column node content cannot be part of FULLTEXT inde
  • Ruby 中的 Java CLASSPATH 相当于什么?

    我想从任何地方运行 ruby 程序 我想我已经明白它是RUBYLIB 但我无法让它发挥作用 你能举例说明吗 您需要操纵加载路径 LOAD PATH 这是用完成的 I directories 目录之间用 在类 Unix 系统上并且由 在 DO
  • 如何在caret包中的指定网格中随机搜索?

    我想知道是否可以在预定义的网格中使用随机搜索 例如 我的网格有alpha and lambda for glmnet方法 alpha介于 0 和 1 之间 并且lambda介于 10到10之间 我想使用随机搜索5次来随机尝试这个范围内的点
  • Angular 2 场遮蔽

    我想屏蔽一个字段 例如 有 10 位数字的电话号码 123 123 1234 我需要以 xxx xxx 1234 的方式屏蔽 另外 在提交页面时 我需要将原始变量 123 123 1234 发送到服务 任何帮助将不胜感激 Thanks 这是
  • swagger-ui 和 spring webflux 出现 404 错误

    我正在使用 Spring Webflux 开发 REST 服务 并且我想使用 Swagger2 为我的 API 生成文档 我发现 Webflux 仅支持 Swagger2 版本 3 0 0 快照 这是我的配置 java 11 maven 3
  • 模拟器:警告:本机不支持快速启动/快照

    我开始学习android 但还没有取得任何进展 我按照说明下载了 android studio 并尝试设置 AVD 我正在使用带有 java 1 8 0 51 的 Mac Air macOS High Sierra 当我启动 AVD 时 事
  • 爬山算法简单例子

    我对爬山算法有点困惑 我想 运行 该算法 直到我找到该树中的第一个解决方案 a 是初始状态 h 和 k 是最终状态 并且它表示状态附近的数字是启发值 这是树 我的问题 我正在尝试在树上爬山 所以好吧 我们开始 a gt f gt g 然后完
  • Java什么时候有了JIT编译器?

    Java 何时首次获得用于生产代码的 JIT 编译器 http java sun com features 2000 06 time line html http java sun com features 2000 06 time lin
  • 列表 Cubit Flutter 中的 UpdateValue

    在应用程序中我使用的是 Cubit ItemData 从 firestore 获取 一切正常 但在列表中添加项目并更新 firestore 中的值 名称 后 列表中仍然是旧值 怎么解决呢 class TestPage extends Sta
  • Android 的 OAuth

    我正在尝试访问 Yelp API 我已经获得了我的钥匙 并阅读了大约 40 篇文章来解释我需要做什么 并且我已经尝试了一切 密钥和非密钥均有效 我得到以下信息 05 16 17 39 54 955 E AndroidRuntime 538