安卓原生app集成钉钉登录,按照按照https://open.dingtalk.com/document文档来做,获取的的返回值一直为空,代码如下
public class DDAuthActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
double random = Math.random();
AuthLoginParam.AuthLoginParamBuilder builder = AuthLoginParam.AuthLoginParamBuilder.newBuilder();
builder.appId("我的appid");
builder.redirectUri("我的url");
builder.responseType("code");
builder.scope("openid%20corpid");
builder.state(Double.toString(random));
builder.prompt("consent");
IDDAuthApi authApi = DDAuthApiFactory.createDDAuthApi(this, builder.build());
authApi.authLogin();
Intent intent = getIntent();
String authCode = intent.getStringExtra(DDAuthConstant.CALLBACK_EXTRA_AUTH_CODE);
String state = intent.getStringExtra(DDAuthConstant.CALLBACK_EXTRA_STATE);
String error = intent.getStringExtra(DDAuthConstant.CALLBACK_EXTRA_ERROR);
if(!TextUtils.isEmpty(authCode) && !TextUtils.isEmpty(state)) {
// 授权成功
} else {
// 授权失败
}
finish();
}
}
根据你提供的信息,出现的问题可能是你的应用没有正确设置回调URL(redirect_uri),或者是钉钉的权限不足导致的。
首先,请检查你是否已正确设置了redirect_uri参数,并确保该URL与你在钉钉后台添加的应用中配置的回调URL一致。
其次,请确认你的钉钉账户具有足够的权限来使用钉钉API。你需要在钉钉开放平台后台创建一个应用,并为其分配相应的权限。具体步骤请参考钉钉官方文档:https://developers.dingtalk.com/document/app/overview
从你的代码来看,你在尝试使用DingTalk SDK进行登录操作。但是,你并没有提供足够的上下文信息,例如你是在什么样的Android应用环境中运行的,以及你具体遇到了什么问题。
首先,你需要确保你的Android应用已经正确配置了DingTalk SDK。这包括在你的AndroidManifest.xml文件中添加DingTalk的权限,以及在适当的Activity中处理DingTalk的回调。
其次,你需要确保你的AppId、RedirectUri、ResponseType、Scope、State和Prompt等参数都设置正确。这些参数的值应该是你从DingTalk开发者控制台中获取的。
最后,你需要确保你的网络连接正常,并且你已经正确地重写了onActivityResult方法来处理DingTalk的回调。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。