Comments (11)
可以实现吗?可以的话就很好呀!最好同时保留一个隐藏的输入key的入口。
from douya.
可以实现,也就是与目前官方豆瓣应用逻辑一样,获取大豆瓣应用的签名信息用于 AES 解密特定的字符串。
只是不知道这样做会有怎样的影响,官方还能否默许……
保留原输入入口倒是很简单,作为一个 Fallback 就好了。
from douya.
@DreaminginCodeZH 你这样说的话,是不是指豆瓣3.6版的这段代码?
private void setupApiKey() {
try {
String password = Base64.encodeToString(getPackageManager().getPackageInfo(getPackageName(), 64).signatures[0].toByteArray(), 0);
this.mApiKey = AES.decrypt("74CwfJd4+7LYgFhXi1cx0IQC35UQqYVFycCE+EVyw1E=", password);
this.mApiSecret = AES.decrypt("MkFm2XdTnoPKFKXu1gveBQ==", password);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}
它这里解密的貌似就是apiKey呀。。。所以结果还是使用官方的apiKey喽?貌似和直接使用豆瓣3.0.1版中的apiKey是一样的呀。。。
我看,你要么直接像BlackLight一样,直接给用户一个输入apiKey的界面好了~~,官方不给api也是没办法的事,反正也不是营利性质的,用户量也不大,应该不会管吧
from douya.
嗯。另一件事是只有官方豆瓣 App 的 API Key 可以使用用户名密码认证的 XAuth 接口。
确实是一样的,不过如此为之,就没有直接公开他们的 API Key 了,而这段代码本身是随意去网上逆向就能得到的;这也意味着豆芽本身没有包含使用他们 API 足够的信息;同时要求安装官方 App,也就是说豆芽的用户也一定是官方 App 的用户,对他们来说影响就更小了。
但毕竟是逆向的代码,不知道他们会不会不高兴。所以发了这个 help-wanted 的 Issue。
from douya.
方法二是另外提供一个独立的小 App,可以得到 API Key 并放到相应位置里;但这样毕竟不如方法一简单直接。
from douya.
为了尽量不得罪官方,不直接给apiKey,这样也好~~
from douya.
@ipcjs 你觉得方法一风险怎样?
from douya.
@DreaminginCodeZH 就这样干呗,也没其他办法~
from douya.
@ipcjs 还有方法二呀,这样就和豆芽项目本身可以分离了,以后上架 Play 也没什么问题;只不过方法一更用户友好些所以在纠结
from douya.
@DreaminginCodeZH 方法二太麻烦了,我觉得还是方法一或者BlackLight那样好点。三种方式本质上都是盗用豆瓣的官方apiKey,没必要纠结那么多~~
from douya.
Closed by repo DreaminginCodeZH/DouyaApiKey.
from douya.
Related Issues (20)
- 升级到 Glide 4.2+
- 发广播界面发送时未禁用底部按钮 HOT 1
- 账号锁定 HOT 1
- 标记游戏页面缺少平台
- 书页面缺少详细的作者和译者信息
- Android Studio 3.0 打开出错 HOT 1
- 代码没有注释,实在没看懂frodo.douban.com的请求是怎么计算_sig参数的 HOT 1
- 缺少部分关键类,下载了两次还是同样情况,麻烦告知下 HOT 1
- 手机版网页链接无法识别
- Feature Request: 使用正则表达式屏蔽特定广播 HOT 3
- Remove 140 character limit when sending broadcast
- 怎么在模拟器上调试? HOT 1
- 有个文件名太长,给电脑使用带来麻烦 HOT 3
- emui安卓9报该应用感染病毒 HOT 5
- Include BlobEmoji
- 登录后无法看到内容 HOT 1
- Api签名加密算法的问题 HOT 3
- 关于API签名验证的问题 HOT 1
- 不再更新release了吗 HOT 1
- F-Droid HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from douya.