微信第三方接入遇到的科恩(坑)——登录、分享

今天由于业务需要翻看了微信的开发平台和相应的接口文档

然后一边看,一边无语


微信开发者文档中的科恩

科恩目录

  • 微信分享
  • 微信登录
一.微信分享是之用户通过第三方的app发送内容到微信,可以是群组,好友,朋友圈。

如下:开放平台的权限显示,应用审核后不需要认证300块的开发者也是可以分享内容的。



        于是我天真的以为我快要成功了,我创建了一个HelloWorld,我然后导入了jar包,我然后填写的签名和包名,我逐个字母的核对着,我复制了Weixin_SDKDEMO里分享一段简单文本的例子,然后点击了按钮事件,等待这这一刻的来临,1s,2s,3s..........10s过去了。我的HelloWorld好像死了一般沉寂,我摇了摇手机,心想“不会卡机了吧”,怎么可能,我的测试机可以亚马逊买的美版moto g,可从来都没卡过机,我的心里一个怀疑小人和自信小人在激烈的战斗,我怀疑我刚刚是不是手指是不是根本没有出碰到我的按钮,我又点了一下,点了两下,我不停的在点击这按钮,我似乎完了我TM点按钮干啥。终于,2分钟以后,我判断是请求压根就没发出去。我试着运行了下DEMO,并且把DEMO改成了我注册的包名,APP_ID,SECRET,包括WXEntryActivity。然而这并没有什么卵用。

       第二天,公司小伙伴给了我一个刚刚交了300块钱的帐号让我看看,我照例注册了应用。等待通过审核。

    

       审核通过后,我拿之前的代码先试了一下登录。次奥......

       

       微信的接入Demo和接入文档绝B不是一个人写的,因为文档和demo描述的根本就不一样。


       接入微信登录的前一个小时,我仔仔细细的阅读了文档的每一个字。

       微信登录的流程:

  • 三方app发起请求
  • 微信授权 返回一个code
  • 客户端通过code和appid,secret获取一个token
  • 使用token请求各种API
      文档描述的还是很细致的,不过..............

      当你真正使用的时候就知道这文档有多么坑爹了。

      第一步:获取code

             文档说只要你调用了下面这三句话,微信的sdk会满足的你一切愿望

             

final SendAuth.Req req = new SendAuth.Req();
		req.scope = "snsapi_userinfo";
		req.state = "wechat_sdk_demo";
		api.sendReq(req);

              我说,卧槽!

              调用了之后确实回调了onReq(),但是我并没有看到code啊,通篇一直在描述的code尼玛到底在哪啊,我翻着看了看DEMO源码,尼玛,太巧了吧,这尼玛也太巧了吧。巧的好像林平之凭借自己的努力拿到了辟邪剑谱啊。Demo里居然没有获取code的例子。我敲了一下回调的参数,也没有发现一个叫code的参数。阿西吧..............

              于是我居然去百度了............而且我在百度知道找到了答案。

String code = ((SendAuth.Resp) arg0).token
              这尼玛code居然是一个叫token的家伙,我测试过了,根据这个token可以拿刀access_token,

    

              微信开放平台的接入文档误导性10颗星


              你以为这就够了?


              分享:

                      同样的我调用了一段简单的代码

                      

WXTextObject textObj = new WXTextObject();
			textObj.text = "ssssssss";

			// 用WXTextObject对象初始化一个WXMediaMessage对象
			WXMediaMessage msg = new WXMediaMessage();
			msg.mediaObject = textObj;
			// 发送文本类型的消息时,title字段不起作用
			// msg.title = "Will be ignored";
			msg.description = "dsdsdsdsd";

			// 构造一个Req
			SendMessageToWX.Req req = new SendMessageToWX.Req();
			req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求
			req.message = msg;
			req.scene = SendMessageToWX.Req.WXSceneSession;

			// 调用api接口发送数据到微信
			api.sendReq(req);
 

                       得到的情况是 1.朋友圈,100%分享成功,但是每次分享后都报错。

                                            2.分享飞好友,成功后点击留在微信,没报错,点回到第三方app,报错了。


                             两次错误是一样的。回到最开的始问题,代码是一样的,只是300块的开发者才有权限,为啥不写写清除啊。




微信开放平台就想生活一样处处充满挫折和坎坷,看遍微信开放平台,就如同走了一边别人的人生.................


  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值