我正在开发 twitter 数字 api 以将其集成到我需要验证用户唯一性的网站中。
这是一个链接,它是唯一一篇正式说明如何实现网络数字的文章。
在文章中,我发现我必须关心 Web 服务器,这与 IOS 的 Digits 不同。但是没有关于我应该在我的网络服务器上做什么的信息!
我应该在 PHP 中为服务器端编程编写什么来获取用户 ID 和电话号码?
我正在开发 twitter 数字 api 以将其集成到我需要验证用户唯一性的网站中。
这是一个链接,它是唯一一篇正式说明如何实现网络数字的文章。
在文章中,我发现我必须关心 Web 服务器,这与 IOS 的 Digits 不同。但是没有关于我应该在我的网络服务器上做什么的信息!
我应该在 PHP 中为服务器端编程编写什么来获取用户 ID 和电话号码?
在演示中,http://s.codepen.io/digits/debug/gbrgYV
登录后,它会显示一个 curl 命令。
使用响应数据在您的服务器端重现它,它会给您一个带有电话号码和 ID 的响应。
虽然,我不知道为什么,当电话号码是新的时,需要一段时间才能将电话号码归还给您。
好的,这是完整的实现:
//include js
<script type="text/javascript" id="digits-sdk" src="https://cdn.digits.com/1/sdk.js" async></script>
<script>
/* Initialize Digits for Web using your application's consumer key that Fabric generated */
document.getElementById('digits-sdk').onload = function() {
Digits.init({ consumerKey: '*********' });
};
/* Launch the Login to Digits flow. */
function onLoginButtonClick(phone_number=''){
if(phone_number!='')
{
//Digits.logIn({
Digits.embed({
phoneNumber : phone_number,
container : '.my-digits-container' //remove this if u will use Digits.logIn
})
.done(onLogin) /*handle the response*/
.fail(onLoginFailure);
}
}
/* Validate and log use in. */
function onLogin(loginResponse){
// Send headers to your server and validate user by calling Digits’ API
var oAuthHeaders = loginResponse.oauth_echo_headers;
var verifyData = {
authHeader: oAuthHeaders['X-Verify-Credentials-Authorization'],
apiUrl: oAuthHeaders['X-Auth-Service-Provider'],
};
var request = $.ajax({
url: "<?php echo $url;?>",
method: "POST",
dataType: "json",
data: {
verifyData:verifyData,
}
});
request.done(function (data) {
console.log(data);
});
request.fail(function (jqXHR, textStatus) {
alert('fail');
});
}
function onLoginFailure(loginResponse){
alert('Something went wrong, Please try again');
}
</script>
现在你有一个来自数字的 URL 和标题,那么你可以使用下面的代码:
$apiUrl = 'https://api.digits.com/1.1/sdk/account.json';
$authHeader = 'OAuth oauth_consumer_key="**********", oauth_nonce="****", oauth_signature="****", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1481554529", oauth_token="*****", oauth_version="1.0"';
// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Authorization: {$authHeader}"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents($apiUrl, false, $context);
$final_output = array();
if($file)
{
$final_output = json_decode($file,true);
}
print_r($final_output);