首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从PayPalAuthorization中获取用户数据

如何从PayPalAuthorization中获取用户数据
EN

Stack Overflow用户
提问于 2016-03-09 23:53:49
回答 1查看 92关注 0票数 0

我安装了PayPal SDK2.13.3,设置了客户机id、环境等。我在仪表板中为我的应用程序激活了Log In with PayPal

现在代码:

代码语言:javascript
复制
PayPalAuthorization auth = data.getParcelableExtra( PayPalProfileSharingActivity.EXTRA_RESULT_AUTHORIZATION );
JSONObject json = auth.toJSONObject();
Logg.i( this, "payPal auth = " + json );

给出的结果如下:

代码语言:javascript
复制
{"client":{"environment":"sandbox","paypal_sdk_version":"2.13.3","platform":"Android","product_name":"PayPal-Android-SDK"},"response":{"code":"blablah"},"response_type":"authorization_code"}

我想在这里将字段定义为作用域:

代码语言:javascript
复制
Set<String> scopes = new HashSet<>( Arrays.asList( PAYPAL_SCOPE_OPENID, PAYPAL_SCOPE_PROFILE, PAYPAL_SCOPE_EMAIL ) );
i.putExtra( PayPalProfileSharingActivity.EXTRA_REQUESTED_SCOPES, new PayPalOAuthScopes( scopes ) );

怎么才能做到这一点?我应该发出另一个请求吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-12 14:21:55

因此,经过研究发现,实现PayPal登录的最好方法是将第二部分移植到服务器上。

在设备上获得user content"response":{"code":"blablah"}之后,最好将code发送到应该发生以下请求的服务器:

代码语言:javascript
复制
curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
  -H "Accept: application/json" \
  -H "Accept-Language: en_US" \
  -u "{client-id}:{secret}" \
  -d "grant_type=client_credentials"

然后:

代码语言:javascript
复制
curl 'https://api.paypal.com/v1/oauth2/token' \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -H "Authorization: Basic QWZVa...==" \
    -d 'grant_type=refresh_token&refresh_token=MFYQ...'

根据server.mdhttp://developer.paypal.com/docs/integration/direct/make-your-first-call/#get-an-access-token

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35905029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档