我正在开发一个Android项目,该项目要求我编辑用户的GitHub信息,例如主演/取消星空的存储库以及关注/取消关注其他用户。这些应该通过PUT / DELETE请求来完成。我从我的GitHub帐户生成了一个个人访问令牌,但我还没有弄清楚如何让我的请求工作。我知道我的令牌很好,因为我能够通过POSTMAN发出请求并查看更改。根据API文档
,我传入的链接是https://api.github.com/user/following/(user-im-trying-to-follow) HttpsURLConnection connection = null;
BufferedReader reader = null;
try {
URL url = new URL(link);
connection = (HttpsURLConnection) url.openConnection();
connection.setRequestMethod("PUT");
connection.setDoOutput(true);
String basicAuth = "Basic " +(Base64.encodeToString(ACCESS_TOKEN.getBytes(), Base64.NO_WRAP));
connection.setRequestProperty("Authorization", basicAuth );
connection.connect();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(connection!=null) {
connection.disconnect();
}
}
我尝试更换" Basic"使用"令牌"因为这是POSTMAN标题所需的值,但它没有起作用。我做错了什么?
答案 0 :(得分:0)
首先,double-check the scope associated with your token:
它应该包含“user
”(或至少是用户:关注)
您看到使用的网址是:
String newUrl = "https://" + token + ":x-oauth-basic@" + url;
这可能是另一种测试方法。