完整版授权 SDK 调用方法
前提准备
iOS 调用方法
授权接口
授权方法功能
授权参数
示例代码
apiname=com.alipay.account.auth&app_id=xxxxx&app_name=mc&auth_type=AUTHACCOUNT&biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=xxxxx&product_id=APP_FAST_LOGIN&scope=kuaijie&sign_type=RSA2&target_id=20141225xxxx&sign=fMcp4GtiM6rxSIeFnJCVePJKV43eXrUP86CQgiLhDHH2u%2FdN75eEvmywc2ulkm7qKRetkU9fbVZtJIqFdMJcJ9Yp%2BJI%2FF%2FpESafFR6rB2fRjiQQLGXvxmDGVMjPSxHxVtIqpZy5FDoKUSjQ2%2FILDKpu3%2F%2BtAtm2jRw1rUoMhgt0%3D
授权结果获取
授权结果功能
回调方法参数
resultUrl
completionBlock
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
进行调用。详情请参见 Demo。Android 调用方法
授权接口
授权方法功能
authV2
接口将直接以返回值的形式将结果传回。auth_code
。调用示例
// authInfo 的构造方式详见 授权请求参数 一节,或参考支付宝 SDK Demo 中的实现。
// authInfo 的生成包括签名逻辑。故生成过程请务必在服务端进行。
final String authInfo = serverGeneratedAuthInfo;
// 对授权接口的调用需要异步进行。
Runnable authRunnable = new Runnable() {
@Override
public void run() {
// 构造AuthTask 对象
AuthTask authTask = new AuthTask(PayDemoActivity.this);
// 调用授权接口
// AuthTask#authV2(String info, boolean isShowLoading),
// 获取授权结果。
Map<String, String> result = authTask.authV2(authInfo, true);
// 将授权结果以 Message 的形式传递给 App 的其它部分处理。
// 对授权结果的处理逻辑可以参考支付宝 SDK Demo 中的实现。
Message msg = new Message();
msg.what = SDK_AUTH_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread authThread = new Thread(authRunnable);
authThread.start();
授权参数组成
authInfo
根据商家的授权请求信息生成,详见 授权请求参数 或参考支付宝 SDK Demo中的实现。authInfo
的样例:apiname=com.alipay.account.auth&app_id=xxxxx&app_name=mc&auth_type=AUTHACCOUNT&biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=xxxxx&product_id=APP_FAST_LOGIN&scope=kuaijie&sign_type=RSA2&target_id=20141225xxxx&sign=fMcp4GtiM6rxSIeFnJCVePJKV43eXrUP86CQgiLhDHH2u%2FdN75eEvmywc2ulkm7qKRetkU9fbVZtJIqFdMJcJ9Yp%2BJI%2FF%2FpESafFR6rB2fRjiQQLGXvxmDGVMjPSxHxVtIqpZy5FDoKUSjQ2%2FILDKpu3%2F%2BtAtm2jRw1rUoMhgt0%3D