sina跟google的鉴权都可以了,然后测下调用,再然后封几个接口,再再然后考虑下网易博客应该怎么往里导,是采用解析RSS方式40条 40条的导,还是去抓网页。。。。
这周过完了
百病缠身的一周2016年08月19日19:31:50
但愿下周会一天天好起来吧。。。。
2016年08月24日18:26:06
原来取了第一个code,还不够,还要用code去取token.....
token那里有过期时间什么的
然后按文档去请求,一直就是400.。。。
拿模拟
发现报21323.。。。官方文档没这个错误
看参数没错啊,头也加了也不行
- {"error":"invalid_request","error_code":21323,"request":"/oauth2/access_token","error_uri":"/oauth2/access_token","error_description":"miss client id or secret"}
幸好度娘那里的先烈们解决了。。。。
原来真的很奇葩。。。。
在get挂参数,用post方式请求就行了。。。。。
get的地址,post的提交
真特么神奇啊。。。。
OAUTH2.0
请求用户授权-->用户输密码-->连服务器--->返回code---->带code跟其他参数请求服务器 ---->获取token存储
取数据:
发送请求夹带token---->连接服务器---->正常返回
2016年08月24日19:19:25
前天晚上去朝阳医院拿的药,吃了两天,现在感觉还可以。。。。
2016年08月24日20:30:25
V1转V2时的接口open.weibo.com/wiki/V1_to_v2
曾经,是有按小时,按天,按周,按月,的热门微博榜接口的
后来,用的人多了,新浪就不提供了
屮
现在,他们把这功能留着自己用。。。。
2016年08月26日20:25:22
blogger的api,发现无法提交评论comment
找api,在comments里没有insert或者add或者post之类
在post博文里,有replies项,但是增加不成功
其他的还好
google developers playground很好用
developers.google.com/oauthplayground/
可以在右边设置上填自己的密钥,然后每个接口都可以先在这里跑通了,再根据他的原理去编写
事半功倍
有问题也可以在这里发送请求,调
很好用
最恶心的就是新浪,本来是有热搜榜的接口的,结果后来取消了。。。。。
真恶心
对于blogger的post,内容要做一个简单的净化
不然google的json格式检测不过去,会说parse error.
- private String cleanNet(String str){
- return str.replace("http://", "头").replace("t.cn", "短").replace("/", "斜").replace(":", "冒").replace("\'", "单").replace("\"", "引").replaceAll("\\d+", "数").replaceAll("(\r\n|\r|\n|\n\r)", "<br/>");
- }
断断续续的做。。。。
好歹是有些实质性的进展了
OAUTH2.0
新浪的授权是1天,google的授权是1小时。。。。
每天都要登可是很麻烦的。。。。
刷新令牌出场
。。。。
频率超限
扔那跑一会就出这个。。。。
- 08-26 12:39:18.686: W/TEST(10151): {
- 08-26 12:39:18.686: W/TEST(10151): "error": {
- 08-26 12:39:18.686: W/TEST(10151): "errors": [
- 08-26 12:39:18.686: W/TEST(10151): {
- 08-26 12:39:18.686: W/TEST(10151): "domain": "usageLimits",
- 08-26 12:39:18.686: W/TEST(10151): "reason": "rateLimitExceeded",
- 08-26 12:39:18.686: W/TEST(10151): "message": "Rate Limit Exceeded"
- 08-26 12:39:18.686: W/TEST(10151): }
- 08-26 12:39:18.686: W/TEST(10151): ],
- 08-26 12:39:18.686: W/TEST(10151): "code": 403,
- 08-26 12:39:18.686: W/TEST(10151): "message": "Rate Limit Exceeded"
- 08-26 12:39:18.686: W/TEST(10151): }
- 08-26 12:39:18.686: W/TEST(10151): }
看来用了近5年的http工具类该重新写了。。。。
跟不上时代了啊。。。。
2016年08月29日15:45:01
google的blog post报
好像是24小时内一个接口只能调50次,或者多少次,超出就报这个。
- 08-29 07:19:17.759: W/TEST(28127): {
- 08-29 07:19:17.759: W/TEST(28127): "error": {
- 08-29 07:19:17.759: W/TEST(28127): "errors": [
- 08-29 07:19:17.759: W/TEST(28127): {
- 08-29 07:19:17.759: W/TEST(28127): "domain": "usageLimits",
- 08-29 07:19:17.759: W/TEST(28127): "reason": "rateLimitExceeded",
- 08-29 07:19:17.759: W/TEST(28127): "message": "Rate Limit Exceeded"
- 08-29 07:19:17.759: W/TEST(28127): }
- 08-29 07:19:17.759: W/TEST(28127): ],
- 08-29 07:19:17.759: W/TEST(28127): "code": 403,
- 08-29 07:19:17.759: W/TEST(28127): "message": "Rate Limit Exceeded"
- 08-29 07:19:17.759: W/TEST(28127): }
- 08-29 07:19:17.759: W/TEST(28127): }
需要等24小时再请求才行。。。。。
2016年08月29日19:37:00
做刷新令牌,发现android取的没有refresh_token.
但是同样的密钥跟客户端id,playground取得就有refresh_token,
找了半天文档,原来
带refresh_token的是离线模式;不带的是online模式。
请求时加上参数是access_type=offline
developers.google.com/identity/protocols/OAuth2WebServer#offline
文档看的费劲,随便一个问题都要找好久啊
发现只加一个offline还不够,还是没有刷新
然后找好久
终于出来了!!!
看起来是多个参数协作的结果。。。。
- 08-29 12:21:53.872: W/TEST(17983): {
- 08-29 12:21:53.872: W/TEST(17983): "access_token": "ya29.Ci9OA4xnYmqPlXhbRTkIK8salgMNGDdEtUdt2sXXgAlehhLO5uG-k6_1ZE_Mqt83vQ",
- 08-29 12:21:53.872: W/TEST(17983): "token_type": "Bearer",
- 08-29 12:21:53.872: W/TEST(17983): "expires_in": 3600,
- 08-29 12:21:53.872: W/TEST(17983): "refresh_token": "1/An-rMaa7TUmvlwnW2KFFOh42y0mFCpKGQIbp2_CAAuU",
- 08-29 12:21:53.872: W/TEST(17983): "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjQ4ZGZjNzdmYmY1NDU3MmM3ZjZiNGIyZTg3ZjQ2MzA4YWYyYzg4ODgifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhdF9oYXNoIjoiRXlLTjJLRlQtYjVWUjdzZnNBQjZMZyIsImF1ZCI6Ijk2NjQwNDc1ODQ4MC1hNG9sN3A3aTV1MnNuOG5iYTZmdmlja2dob3E2MDdhNC5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsInN1YiI6IjEwMDc0MzAyMTQyOTQzMjY1NTc3NCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhenAiOiI5NjY0MDQ3NTg0ODAtYTRvbDdwN2k1dTJzbjhuYmE2ZnZpY2tnaG9xNjA3YTQuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJlbWFpbCI6ImRjanphYkBnbWFpbC5jb20iLCJpYXQiOjE0NzI0NzM1NjYsImV4cCI6MTQ3MjQ3NzE2NiwibmFtZSI6InNlblJzbCBaaGFvIiwicGljdHVyZSI6Imh0dHBzOi8vbGg2Lmdvb2dsZXVzZXJjb250ZW50LmNvbS8tb1VraHZVaGdnX0UvQUFBQUFBQUFBQUkvQUFBQUFBQUFBQUEvZFBZMFdPejE1TUUvczk2LWMvcGhvdG8uanBnIiwiZ2l2ZW5fbmFtZSI6InNlblJzbCIsImZhbWlseV9uYW1lIjoiWmhhbyIsImxvY2FsZSI6InpoLUNOIn0.LkliGWThF7N3QtLSNPVP40_7LCV8Wyoq1YWPj0aAQw7tWaM2c-wlpTYZjtk9meMPYKgciS3jV8Cwr-J8nFgJMmenzJ6_y83MnzFnqvsLBTfK7FuxsCBkf7pm1tk8VphF5DY3qPhSDNc9g_xr3jye02jJLJGeXHmfbvKNtHSgJLK64Ex5d2H__CTp-ePNPD5 XZzMO_2fH0G7-QLu-V5-bibF3l7aXR5talF0Y9BqhI-6YMlPInQFV4e-ENuwKYk4bVduJ-24G6b9WPGGuIf5sJLVHfW9s0B9fP1CHN2EgaymN5VC7HdmXJc_NWfb5CzVCckAf8HkYKRkj929aLDrT0g"
- 08-29 12:21:53.872: W/TEST(17983): }
出来就好。。。。
- map.put(SelfContext.OAUTH_CLIENT_ID, SelfContext.OAUTH_GGL_CLIENT_ID_VALUE);
- map.put(SelfContext.OAUTH_REDIRECT, SelfContext.OAUTH_GGL_REDIRECT);
- map.put(SelfContext.OAUTH_RESPONSE_TYPE, SelfContext.OAUTH_GGL_RESPONSE_TYPE_VALUE);
- map.put(SelfContext.OAUTH_SCOPE, SelfContext.OAUTH_GGL_SCOPE_VALUE);
- map.put(SelfContext.OAUTH_ACCESS_TYPE, SelfContext.OAUTH_ACCESS_TYPE_OFFLINE);//离线访问
- // map.put("state","security_token%3D138r5719ru3e1%26url%3Dhttps://oa2cb.example.com /myHome");//返回这一串安全验证码
- map.put("prompt","consent");//提示
- map.put("include_granted_scopes","true");//包括授予范围
然后尝试下白天写的google refresh token,也通了
这样还差weibo 的授权刷新。
但是看了看api没这个功能。。。。。。
但是却返回了refresh token......
不过幸好SSO鉴权搞定了,可能是高级的API吧。。。。
google 翻译 api.....
竟然收费!!!
2016年08月30日12:34:14
早上上班,发现google客服回了邮件给我,然后adsense审核通过了!!!
之前拒绝的原因就是申请的时候我填的地址是公司地址,地址已经被人用过了。。。。
然后客服给我弄通过之后我登进去就可以把地址改成家的地址了。。。。
哈哈
2016年08月30日13:31:34
google的鉴权刷新,发现正常刷新,但是使用刷新后的token没法用
- 08-30 05:25:50.731: W/DefaultRequestDirector(28313): Authentication error: Unable to respond to any of these challenges: {bearer=WWW-Authenticate: Bearer realm="https://accounts.google.com/", error=invalid_token}
- 08-30 05:25:50.731: W/TEST(28313): Error Response: HTTP/1.1 401 Unauthorized{
- 08-30 05:25:50.731: W/TEST(28313): "error": {
- 08-30 05:25:50.731: W/TEST(28313): "errors": [
- 08-30 05:25:50.731: W/TEST(28313): {
- 08-30 05:25:50.731: W/TEST(28313): "domain": "global",
- 08-30 05:25:50.731: W/TEST(28313): "reason": "authError",
- 08-30 05:25:50.731: W/TEST(28313): "message": "Invalid Credentials",
- 08-30 05:25:50.731: W/TEST(28313): "locationType": "header",
- 08-30 05:25:50.731: W/TEST(28313): "location": "Authorization"
- 08-30 05:25:50.731: W/TEST(28313): }
- 08-30 05:25:50.731: W/TEST(28313): ],
- 08-30 05:25:50.731: W/TEST(28313): "code": 401,
- 08-30 05:25:50.731: W/TEST(28313): "message": "Invalid Credentials"
- 08-30 05:25:50.731: W/TEST(28313): }
- 08-30 05:25:50.731: W/TEST(28313): }
- 08-30 05:25:50.731: W/TEST(28313): 401
。。。。原来是刷新后没更新存储
翻译API
google收费,尝试抓网页,貌似google对网页抓取做了限制。。。。
然后google了一下,搜到了有道的。。。。
虽然对于有道的翻译水平持保持态度
但人家可以免费啊
一小时免费1000次调用,足够了!!!
fanyi.youdao.com/openapi?path=data-mode
不上架我自己拿着玩一小时1000次足够用了。。。。
这文档可真简单啊。。。。
数 据接口
http://fanyi.youdao.com/openapi.do?keyfrom=PostHot&key=1273419629&type=data&doctype=<doctype>&version=1.1&q= 要翻译的文本
版本:1.1,请求方式:get,编码方式:utf-8
主要功能:中英互译,同时获得有道翻译结果和有道词典结果(可能没有)
参数说明:
type - 返回结果的类型,固定为data
doctype - 返回结果的数据格式,xml或json或jsonp
version - 版本,当前最新版本为1.1
q - 要翻译的文本,必须是UTF-8编码,字符长度不能超过200个字符,需要进行urlencode编码
only - 可选参数,dict表示只获取词典数据,translate表示只获取翻译数据,默认为都获取
注: 词典结果只支持中英互译,翻译结果支持英日韩法俄西到中文的翻译以及中文到英语的翻译
errorCode:
0 - 正常
20 - 要翻译的文本过长
30 - 无法进行有效的翻译
40 - 不支持的语言类型
50 - 无效的key
60 - 无词典结果,仅在获取词典结果生效
一次不能超过200个字符
编码UTF8编码,200字符/3=不到70,你逗呢。。。。。
试了下好像是200个字
上面一串是130个字左右,可以翻译。。。。
- http://fanyi.youdao.com/openapi.do?keyfrom=PostHot&key=1273419629&type=data&doctype=json&version=1.1&q= 有道翻译API提供收费服务,收费服务按翻译字符数计费,一个汉字、一个字母、一个标点都计为一个字符;现在接入,每日免费10 万字符流量,超过部分每百万字符50元人民币;例如,一天累积翻译60万字符,则需要收费25元人民币;如果您的需求量非常大, 请通过官方邮箱与我们联系。
可以用一下
这个好像已经运行好久了。。。。
PostHot....
2017年05月23日10:34:27
网易博客还是那个博客,也没导。。。。
倒是出了一个testbysenrsl的东西。。。。
--
senRsl
2016年08月19日19:29:49
2016年08月19日19:29:49
没有评论 :
发表评论