Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有任何特殊库的Android OAUTH_Android_Oauth_Yelp - Fatal编程技术网

没有任何特殊库的Android OAUTH

没有任何特殊库的Android OAUTH,android,oauth,yelp,Android,Oauth,Yelp,快速背景。我不是计算机科学家或程序员。只是试着把学习安卓作为一种个人挑战(帮助我与现代世界保持联系,这样我就能更好地了解我的孩子)。我一开始很简单,现在正慢慢尝试处理更具挑战性的技能 现在,我正在努力使OAUTH身份验证能够连接到YelpAPI。我读了很多博客文章。我在这里搜索并阅读了很多主题。有些是有用的,有些对我来说太高级了 我知道有一些库可以用于OAUTH。例如,我可以安装路标库并使用它。这可能是我的下一步。现在,我一直在尝试在不使用任何特殊库的情况下连接到yelpapi(记住,这对我来说

快速背景。我不是计算机科学家或程序员。只是试着把学习安卓作为一种个人挑战(帮助我与现代世界保持联系,这样我就能更好地了解我的孩子)。我一开始很简单,现在正慢慢尝试处理更具挑战性的技能

现在,我正在努力使OAUTH身份验证能够连接到YelpAPI。我读了很多博客文章。我在这里搜索并阅读了很多主题。有些是有用的,有些对我来说太高级了

我知道有一些库可以用于OAUTH。例如,我可以安装路标库并使用它。这可能是我的下一步。现在,我一直在尝试在不使用任何特殊库的情况下连接到yelpapi(记住,这对我来说是一个学习练习)

YELP文档似乎足够简单

我有我的客户ID和客户机密。我尝试使用以下代码行请求访问令牌

我的尝试惨遭失败。我得到错误响应代码:400

你能帮我指出我的错误吗

非常感谢您的帮助。

setRequestProperty(字符串键,字符串值)方法既不用于查询参数,也不用于表单参数。该方法用于设置要发送的HTTP头

设置客户端ID和客户端密码:

String credentials=String.format(“%s:%s”、“MyClientId”、“MyClientSecret”);
byte[]credentialsBytes=凭证.getBytes(“UTF-8”);
String encoded=org.apache.commons.codec.binary.Base64.encodeBase64String(credentialsBytes);
字符串授权=String.format(“基本%s”,编码);
hURLConnection.setRequestProperty(“授权”,授权);
在请求正文中嵌入请求参数:

hURLConnection.setDoOutput(true);
byte[]bytes=“授权类型=客户端凭据”。getBytes(“UTF-8”);
OutputStream out=hURLConnection.getOutputStream();
out.write(字节);
out.flush();
如果Yelp API支持“RFC 6750”,则您的客户端ID和客户端机密可以与
grant\u type
request参数一起嵌入到请求正文中

byte[]bytes=“授权类型=客户端凭据&客户端id=MyClientId&客户端密码=MyClientSecret”。getBytes(“UTF-8”);

400表示来自服务器的错误响应。。。再看看你的代码,也许它应该由Https而不是Http来处理。。。但我只是安卓devThanks的一个傻瓜。这对我很有帮助。在请求主体中发送授权类型、客户机id和客户机机密就可以做到这一点。