精华内容
下载资源
问答
  • 第三方登录不得不说的一个优势:那就是本地注册和第三方注册的选择。虽然这是一个不能称之为问题的问题,其中的心理学不得不说:做为一个app的新用户,你有两个选择:1....2.第三方登录后,随机分配一个id

    第三方登录不得不说的一个优势:那就是本地注册和第三方注册的选择。虽然这是一个不能称之为问题的问题,其中的心理学不得不说:做为一个app的新用户,你有两个选择:1.做一个很受欢迎的用户,注册帐号,完善信息,over。2.选用第三方登录/注册,简单方便。二者供你选择,随心挑选。

    普通注册分多种情况:

    1.传统的注册方式,注册门槛较高,易在注册页面流失用户。

    2.第三方登录后,随机分配一个id

    3.邮件注册,id手动填写并且不能重复

    App开发过程中登录的选择还是视情况而定。

    用户眼中的第三方登录:

    第三方登录简单快捷,每天面对不同的平台不同的登录界面能有一种简单登录的方式再好不过了。第三方登录可以将自己在某个app的动态信息同步到各个sns平台,这一功能无疑揽了一大批“懒”用户,潇潇洒洒一号走江湖。

    不免担心的是第三方登录有很多资料信息可以公用,比较保守的人就慎重了,互联网时代,信息也保密不到哪去。

    本地客户端眼中的第三方登录:

    简化登录过程,降低注册门槛,更能获取海量用户,在争抢用户,提高用户转化率注册量是不可缺少的重要因素。本地注册的稳定+第三方登录的便捷才是最合适的登录方案。

    第三方登录平台该如何选择

    所谓的第三方登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录或者注册的功能。而这里的第三方平台,一般是已经有大量用户的平台,如国内关注度较高的腾讯QQ互联平台 、百度第三方账号登陆,一登人脸登录等等。更多关于第三方登录,第三方登录平台,第三方登录SDK,集成过程及开发建议可百度“开发者服务”学习。 

    展开全文
  • linux下执行jar中的main方法时,提示缺少第三方jar包

    如果待执行的jar中的java使用import的方法导入了多个第三方jar包,直接使用javac和java命令执行时,会提示缺少第三方jar。

    解决方法:

    方法1、在jar的META-INF/MANIFEST.MF中,加入Class-Path(该方法未测试,应该能够成功)。

    方法2、不修改以上的MANIFEST.MF文件,直接进入的项目的lib目录下,执行java命令,不过需带上相关需要的jar。格式如下:

    java -cp 11.jar:22.jar:33.jar  com.project.xxxx.xxxxTester

    11.jar、22.jar、33.jar为引用的jar包,中间使用英文状态的冒号分隔,且不能有空格。

    com.project.xxxx.xxxxTester是main方法的类路径。

    展开全文
  • 【错误出现的地点】 最近为财务的一个小伙伴做的对账需求软件。使用了Electron来做一个桌面应用。但是当我引入了node-xlsx这个模块之后,就无法打包出正确的应用。但是直接运行的话,却没有问题。...

    【错误出现的地点】

    最近为财务的一个小伙伴做的对账需求软件。使用了Electron来做一个桌面应用。但是当我引入了node-xlsx这个模块之后,就无法打包出正确的应用。但是直接运行的话,却没有问题。这个问题困惑了我很久。

    【排查问题的过程】

         首先一开始我打包成应用的时候,将源码打包成了asar包。这样的话无法看到打包后源代码的构成。于是我取消了这个选项。

          asar包相关链接

         接着我发现,在我打包生成的源代码文件夹中的node_modules文件夹,和node-xlsx相关的一些模块都变成了.symlink类型的文件。而这个文件我打开后发现是链接到我项目中node_modules的一些文件。而对于打包出的软件包,当运行的时候就没法找到这些文件。于是就报错,没有找到这些。

    【问题产生的猜测】

          经过排查,发现打包出的软件包中的node_modules文件夹中变成.symlink类型的文件, 刚好和项目中node_modules的文件中文件夹显示为快捷方式文件夹相一致。而导致这些出现的原因很可能是CNPM使用的一项提升下载速度的技术,当你已经全局下载过这些包,在你项目使用会使用link的方式来复用。貌似你复制粘贴这些文件的时候都不会出现问题,而打包却会出现。

          当然这一切都只是我的猜测,具体产生的原因我还是不是很清楚,有了解相关方面的小伙伴,希望可以沟通一下。

    【问题解决的办法】

          1、科学上网,后使用npm重新下载包。

          2、把显示为.symlink的文件复制出来后,源文件删除,再把这些文件复制出来。

    // 问题有点久远,文章写了一半忘记写完了。之后写的后两项。所以可能有记忆不准确的地方,以及没有图片说明。

    展开全文
  • 最近公司要做微信的第三方登录,本来打算直接用第三方的框架就算了,就闲的想自己集成试试看。 然后发现被腾讯坑得不省人事。 前提,应用必须要在微信开发平台上注册,并且通过审核,有微信登录的权限。 首先...

    最近公司要做微信的第三方登录,本来打算直接用第三方的框架就算了,就闲的想自己集成试试看。

    然后发现被腾讯坑得不省人事。抓狂


    前提,应用必须要在微信开发平台上注册,并且通过审核,有微信登录的权限。

    首先,下载官方的demo。把libs的jar包拷到自己的工程里。

    在应用的包名下,建一个wxapi的包目录,在里建一个叫WXEntryActivity的activity并实现IWXAPIEventHandler监听,用于微信回调数据!

    下面是我自己的WXEntryActivity,OnUserInfoListener 是我的数据回调的接口(忽略吧)

    public class WXEntryActivity extends Activity implements IWXAPIEventHandler, OnUserInfoListener {
    
        private static final String TAG = "hezb";
    
        private IWXAPI api;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            api = WXAPIFactory.createWXAPI(this, ShareConstants.WX_ID, false);
    
            api.handleIntent(getIntent(), this);
            Log.d(TAG, "WXEntryActivity onCreate");
        }
    
        @Override
        public void onReq(BaseReq arg0) {
            switch (arg0.getType()) {
                case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
                    break;
                case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
                    break;
                default:
                    break;
            }
            Log.d(TAG, "WXEntryActivity BaseReq:"+arg0.toString());
            /** 打开/重启本APP */
            Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
            startActivity(iLaunchMyself);
        }
    
        @Override
        public void onResp(BaseResp arg0) {
            String result = null;
            switch (arg0.errCode) {
                case BaseResp.ErrCode.ERR_OK:
                    if (arg0 instanceof SendAuth.Resp) {
                        SendAuth.Resp resp = (SendAuth.Resp) arg0;
                        if (!TextUtils.isEmpty(resp.token)) {
                            Log.d(TAG, "resp token:"+resp.token);
                            //获取用户数据
                            GetWechatUserInfoThread getWechatUserInfoThread = 
                                    new GetWechatUserInfoThread(this, resp.token);
                            getWechatUserInfoThread.setUserInfoListener(this);
                            getWechatUserInfoThread.start();
                        }
                    } else {
                        result = "分享成功";
                    }
    
                    break;
                case BaseResp.ErrCode.ERR_USER_CANCEL:
                    result = "分享取消";
                    break;
                case BaseResp.ErrCode.ERR_AUTH_DENIED:
                    result = "分享被拒绝";
                    break;
                default:
                    result = "分享返回";
                    break;
            }
            if (!TextUtils.isEmpty(result)) {
                Toast.makeText(this, result, Toast.LENGTH_LONG).show();
                finish();
            }
        }
    
        @Override
        public void onComplete(Map<String, String> map) {
            Log.d(TAG, "wechat map:"+map.toString());
            finish();
        }
    
    }


    在Manifest中,注册该activity注意name

    package="com.hezb.demo" 应用的包名,注册就用他

    <!-- wechat 回调页 -->
            <activity
                android:name="com.hezb.demo.wxapi.WXEntryActivity"
                android:exported="true" />


    第三方登录需执行:

    IWXAPI api = WXAPIFactory.createWXAPI(mContext, ShareConstants.WX_ID);

    SendAuth.Req req = new SendAuth.Req();
    req.scope = "snsapi_userinfo";
    req.state = "hezb_share_sdk_demo";//瞎填就行,据说用于防攻击
    api.sendReq(req);


    这样就启动微信展示是否授权的那个页面,点击确定,WXEntryActivity就会启动,并且调用onResp(BaseResp arg0)方法。

    其中arg0就是SendAuth.Resp的对象,可强转。

    坑的地方来了,这里官网的开发文档会让你找code,但无奈我找了一天都没找到SendAuth.Resp里有叫code的成员!!!抓狂吧程序员!抓狂

    但是有一个token的成员,这时,你可能以为token就是access_token,微信简化了需要code来获取access_token的步骤,但是,你又会发现缺少openid这个参数,呵呵,腾讯你特么逗我呢!骂人

    然后折腾了半天,最后发现一个坑爹的真相:token就是code!!! 然后就无语了。。。腾讯你更新了好得改一下官方文档啊!

    然后照着官方文档获取access_token获取用户信息,就行了。。。


    废话不说了,贴上我获取数据的类:

    public class GetWechatUserInfoThread extends Thread {
    
        private static final String TAG = "hezb";
        /**
         * 获取token等信息的地址
         * 传递参数: appid, secret, code, grant_type = authorization_code
         * 返回参数:access_token, expires_in, refresh_token, openid, scope, unionid
         */
        private static final String TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/access_token";
        
        /**
         * 获取用户信息的地址
         * 传递参数:access_token, openid
         * 返回参数:openid, nickname, sex, province, city, country, headimgurl, privilege, unionid
         */
        private static final String USERINFO_URL = "https://api.weixin.qq.com/sns/userinfo";
        
        
        private Context context;
        private String code;
        private OnUserInfoListener listener;
        
        /**
         * @author hezb
         * @date 2015年5月28日下午2:26:23
         */
        public GetWechatUserInfoThread(Context context, String code) {
            this.context = context;
            this.code = code;
        }
        /**
         * 设置数据回调接口
         */
        public void setUserInfoListener(OnUserInfoListener listener) {
            this.listener = listener;
        }
        
        @Override
        public void run() {
            super.run();
            
            try {
                HashMap<String, String> params = new HashMap<String, String>();
                params.put("appid", ShareConstants.WX_ID);
                params.put("secret", ShareConstants.WX_SECRET);
                params.put("code", code);
                params.put("grant_type", "authorization_code");
    
                String jsonResult = getJsonResultByUrlPath(context, TOKEN_URL, params);
                JSONObject jsonObject = new JSONObject(jsonResult);
                String accessToken = jsonObject.optString("access_token", "");
                String openid = jsonObject.optString("openid", "");
                
                if (!TextUtils.isEmpty(accessToken) && !TextUtils.isEmpty(openid)) {
                    params.clear();
                    params.put("access_token", accessToken);
                    params.put("openid", openid);
                    String userInfo = getJsonResultByUrlPath(context, USERINFO_URL, params);
                    if (listener != null && !TextUtils.isEmpty(userInfo)) {
                        listener.onComplete(ParseToMap.parse(userInfo, ParseToMap.TYPE_WECHAT));
                    }
                }
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
            
        }
    
        /**
         * 网络请求 使用了第三方jar包datadroid
         */
        private String getJsonResultByUrlPath(Context context, String urlPath,
                HashMap<String, String> params) throws ConnectionException {
    
            String jsonResult = "";
    
            NetworkConnection networkConnection = new NetworkConnection(context,
                    urlPath);
            if (params != null) {
                networkConnection.setParameters(params);
            }
    
            ConnectionResult connectionResult = null;
            connectionResult = networkConnection.execute();
            jsonResult = connectionResult.body;
            Log.i(TAG, "urlPath " + urlPath + " params " + params
                    + " jsonResult " + jsonResult);
            return jsonResult;
        }
    }



    展开全文
  • 用过ecplise的的都知道,遇到没有导入的包的时候,可以使用快捷键...那么在使用pycharm中,对于需要经常通过import导入第三方库的操作,可以使用以下的快捷键进行快速导入。 win: Alt + Enter mac: option + Enter
  • 无论是py还是python指令都是存在于/usr/bin目录下的软连接,指向对应的python script文件,可以去查看/usr/bin下的连接指向,而当前环境下只有python指令指向的文件拥有对应的第三方库,因此只有该指令能成功执行而...
  • android QQ第三方登录(一)

    千次阅读 2015-08-12 14:35:04
    使用的是Android_SDK_V2.9.1,建议使用最新版; 官方下载: SDK下载  Android studio 中添加 ...在应用的AndroidManifest.xml增加配置的节点下增加以下配置(注:不...Android qq第三方登录(二)
  • 5.加入第三方的activity QQ: android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true"> android:name=...
  • 安卓友盟第三方登录与分享

    千次阅读 2017-12-03 22:00:58
    分享 友盟 第三方
  • (一)、腾讯开放平台创建应用...创建好之后我们可以获取到appID  之后点击上图中的《QQ登录》==》《应用调试者》填写测试QQ (二)、下载SDK:http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8
  • python实现QQ第三方登录

    千次阅读 2018-11-23 23:35:59
    QQ登录开发文档连接 http://wiki.connect.qq.com/准备工作_oauth2-0 腾讯QQ互联平台没有python SDK,我们使用封装好的SDK包 安装:pip install QQLoginTool 导入:from QQLoginTool.QQtool import OAuthQQ OAuth...
  • 110201:未登陆 110405:登录请求被限制 110404:请求参数缺少appid 110401:请求的应用不存在 110407:应用已经下架 110406:应用没有通过审核
  • 第三方网站使用qq登录

    千次阅读 2014-09-25 23:09:54
    qq第三方授权登录方法
  • 我们在从网上下载的项目的时候,有时候缺少第三方类库,我们需要将更新一下即可。先检查一下看看有没有composer.json文件是否存在。 存在的话安装; 要安装composer,可参考https://www.jianshu.com/p/a37f0fb5b479 ...
  • QQ第三方登录授权错误代码

    千次阅读 2017-09-04 09:35:07
    110404 请求参数缺少appid 110401 请求的应用不存在 110407 应用已经下架 110406 应用没有通过审核 //没有通过审核的应用只能被授权创建应用的QQ账号登录 100044 错误的sign 110500 获取
  • 编译第三方库时缺少libltdl.h库

    千次阅读 2016-11-27 10:53:49
    最近在编译xmlsec1时遇到了一点小麻烦,在configure的时候报checking for ltdl.h... no,checking for xmlsec-crypto dynamic loading support... checking ltdl.h usability... no错误。在google一番之后终于在...
  • qq第三方登录常见错误码信息对照表

    千次阅读 2016-02-02 14:45:00
    110201:未登陆 110405:登录请求被限制 110404:请求参数缺少appid 110401:请求的应用不存在 110407:应用已经下架 110406:应用没有通过审核
  • cordova 实现第三方登录及分享,qq,微信,微博  QQ、微信、微博,只针对移动应用或JS提供SDK,JS SDK表面上是最方便cordova项目实现的,但在授权是通过网页的,其session还需要在网页上输入用户名密码来建立,...
  • qq第三方登录所需appid

    千次阅读 2016-09-12 10:28:41
    一步:到https://connect.qq.com/创建应用 二步:应用创建后会生成appid,通过审核后就可以用了 //把这里的data-appid换掉就可以了,回调处理神马的就不贴了
  • 最近项目集成友盟第三方实现QQ微信登录,在集成实现过程中遇到了一些问题,也对这些问题提出一些自己的解决办法; 集成的过程不就提了,直接上问题: 一、微信登录提示“授权失败,请查看log” 其实这个问题相对...
  • 最近应用要求接入第三方登录,在加入微信的时候有点小阻塞,在此记录一下,也方便大家有问题查看。 主要问题: WXEntryActivity里onResp(BaseResp baseResp)中baseResp无法拿到授权用户的code,SendAuth.Resp sp...
  • 作者:朱金灿来源:http://blog.csdn.net/clever101 在开发一个平台软件中,第三方库是不可缺少的,毕竟你不可能重复发明所有轮子。在我以前所写的一篇文章:重新认识开源第三方库在平台软件开发中的作用,简单谈到...
  • QQ第三方登陆实现

    千次阅读 2018-05-04 08:43:32
    最近由于项目需要,我用到了QQ的网站和移动端的第三方登陆,这里我只着重介绍网站的。 一、QQ第三方登陆申请历程 如果你和我的需求相同,同时需要移动端和网站的应用,请一定要按照以下方式申请,可以保证你网站...
  • cordova 实现第三方登录及分享,qq,微信,微博,插件的使用和改动 www.111cn.net 编辑:angel 来源:转载 Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如...
  • python中第三方库PyInstaller的打包方法

    千次阅读 2019-03-12 00:37:44
    1 首先你需要安装PyInstaller第三方库,这里就不再对做赘述了
  • 在开发QQ第三方登录使用64位模拟器和iPhone 5s做测试的时候遇到如下错误: Undefined symbols for architecture x86_64:  "_OBJC_CLASS_$_TencentOAuth", referenced from:  objc-class-ref in ...
  • python 第三方库的安装

    千次阅读 2018-10-10 15:22:28
    python 安装常用的库 numpy:用于矩阵等的科学计算. scipy:在NumPy的基础上提供了很多科学模块 matplotlib:允许绘图 ...2、但是我并没有安装或者缺少这些库,所以在跑程序的时候会报ModuleNot...
  • 因为现在第三方库比较多,所以很多人为了快速开发导致库用烂大街了,但是在模块开发中本人不建议使用第三方库的依赖会有很多问题,要么是资源图片找不到,要么是布局找不到啥的,但是有的需求只有第三方库怎么办呢?...
  • 微信第三方平台 错误码

    千次阅读 2019-01-08 10:43:51
    '不是由第三方代小程序进行调用' , '86001' = > '不存在第三方的已经提交的代码' , '86002' = > '小程序还未设置昵称、头像、简介。请先设置完后再重新提交' , '87011' = > '现网已经在...
  • Veins(车载通信仿真框架)入门教程(二)——调用第三方库 在借助Veins进行自己的研究时我们经常需要实现一些比较复杂的功能,有时就需要借助第三方库的帮助。 博主的研究需要使用神经网络,但是自己编写的效果不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,799
精华内容 32,719
关键字:

缺少第三方登录