使用 PayPal API 登录:获取基本用户信息
Sign in with Paypal API: get basic user info
我正在使用JavaScript登录PayPal。
我的JavaScript代码如下,似乎工作正常。
<script type="text/javascript" src="https://www.paypalobjects.com/js/external/api.js"></script>
<script type="text/javascript">
paypal.use( ["login"], function(login) {
login.render ({
"appid": "<%=paypalAppId%>",
"scopes": "profile email address phone https://uri.paypal.com/services/paypalattributes",
"containerid": "paypalLogin",
"locale": "en-gb",
"returnurl": "http://www.domain.net/plogin.html"
});
});
</script>
但是,我正在努力下一步。使用 JavaScript 或经典 ASP,我尝试获取有关登录用户的以下数据:
- 电子邮件地址
- 名字
- 姓
- 唯一 ID(可选)
- 地址(可选)
- 电话号码
我已经在Facebook,Google和LinkedIn上做到了这一点,使用各自网站上提供的示例。但是,对于PayPal,我找不到任何有关如何执行此操作的有用示例......
我设法通过下一个代码实现了这一点。它从来没有像PayPal那样对我有用。所以我在一个代码上做所有事情,而不是跳转。testingPaypalIdentity.php 是我作为"返回 url"放置的 url 回调,与您必须放在 PayPal 应用程序上的回调相同。
基本上,代码检查是否有用户权限的代码,如果有,则创建令牌,如果有刷新令牌,则搜索用户信息并打印。
require __DIR__ . '/bootstrap.php';
use PayPal'Api'OpenIdSession;
use PayPal'Api'OpenIdTokeninfo;
use PayPal'Exception'PayPalConnectionException;
use PayPal'Api'OpenIdUserinfo;
$baseUrl = getBaseUrl() . '/testingPaypalIdentity.php?success=true';
$tmp;
//Get Authorization URL returns the redirect URL that could be used to get user's consent
$redirectUrl = OpenIdSession::getAuthorizationUrl(
$baseUrl,
array('openid', 'profile', 'address', 'email', 'phone',
'https://uri.paypal.com/services/paypalattributes',
'https://uri.paypal.com/services/expresscheckout',
'https://uri.paypal.com/services/invoicing'),
null,
null,
null,
$apiContext
);
$refreshToken='';
if (isset($_GET['code']) && $_GET['code'] != '') {
$code = $_GET['code'];
try {
$accessToken = OpenIdTokeninfo::createFromAuthorizationCode(array('code' => $code), null, null, $apiContext);
} catch (PayPalConnectionException $ex) {
echo $_GET['code']." ".$ex;
//ResultPrinter::printError("Obtained Access Token", "Access Token", null, $_GET['code'], $ex);
exit(1);
}
$refreshToken=$accessToken->getRefreshToken();
print_r($accessToken);
//ResultPrinter::printResult("Obtained Access Token", "Access Token", $accessToken->getAccessToken(), $_GET['code'], $accessToken);
}
if($refreshToken!='') {
try {
$tokenInfo = new OpenIdTokeninfo();
$tokenInfo = $tokenInfo->createFromRefreshToken(array('refresh_token' => $refreshToken), $apiContext);
$params = array('access_token' => $tokenInfo->getAccessToken());
$userInfo = OpenIdUserinfo::getUserinfo($params, $apiContext);
} catch (Exception $ex) {
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
echo $ex;
exit(1);
}
$tmp=$userInfo;
print_r($userInfo);
}
并检查 OpenIdUserinfo 类以获取所需的信息,例如:
$email = $userInfo.getEmail();
很抱歉英语不好,如果您需要更多信息,请询问。问候
相关文章:
- 如何通过directline僵尸连接器发送用户信息
- 从下拉框中选择用户信息,并使用进度计数器显示数据库中的选定项目
- 在/user/后面显示用户名的用户信息
- AngularJS如何解码带有令牌和内部用户信息的jsonp响应
- 如何从JavaScript访问Django登录的用户信息
- 用于广告的 iframe ?获取用户信息
- 如何动态创建集合名称(取决于用户信息)
- 登录后的角度JWT和用户信息存储
- PhoneGap登录页面,如何保存用户信息
- 使用 PayPal API 登录:获取基本用户信息
- PHP/JavaScript 用户信息收集
- Parse JS SDK登录不使用AngularJs ui路由保持当前用户信息
- 用于确认用户信息的Javascript脚本
- Facebook Javascript SDK-访问用户信息
- 用于输入用户信息的动态PHP代码
- 如何将用户信息集成到我的Facebook应用程序中
- NodeJs-从JWT令牌中检索用户信息
- 在用户信息前插入值
- 从Facebook检索已验证的用户信息
- Mongodb获取每个文档的用户信息