开发者社区> 问答> 正文

求问在SAE平台如何使用开源中国的OPENAPI?报错

- -我已经崩溃了。。。。在SAE平台不论用curl,SaeFetchurl还是file_get_contents全部报错

将首页和回调编辑成本地,在本地使用就没有问题。。。。。

求解

file_get_contents方式

$code = $_GET['code'];
echo 'code:'.$code.'</br>';
$url = 'https://www.oschina.net/action/openapi/token?client_id=xxxxxxxxx&client_secret=ooooooooooo&redirect_uri=http://oscfavorites.sinaapp.com/oscredirect.php&code='.$code.'&grant_type=authorization_code&dataType=json';
echo file_get_contents($url);



curl方式

$url = "https://www.oschina.net/action/openapi/token";
$post_data = array(
		'client_id' => 'xxxxxxxxxxx',
		'client_secret' => 'ooooooooooooo',
		'redirect_uri' => 'http://oscfavorites.sinaapp.com/oscredirect.php',
		'code' => $code,
		'grant_type' => 'authorization_code',
		'dataType' => 'json');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);	
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);	
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$output = curl_exec($ch);
curl_close($ch);
var_dump($output);



还是SAE的saefetchurl

$f = new SaeFetchurl();
$content = $f->fetch($url);
if($f->errno() == 0)  echo $content;
else echo $f->errmsg();



全都报错

要么是开源中国报错:

用SAEFETCHURL时直接返回FALSE。。。。也没有其他错误信息。。。。

求解啊。。。。。

展开
收起
爱吃鱼的程序员 2020-06-22 11:22:53 428 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    https->http回复<aclass='referer'target='_blank'>@業餘碼農:手工拼接一样报错手工拼接试试。都报一样的错吗?获取token阶段将链接调整成了http开头,还是报错。感谢您的答复

    2020-06-22 11:23:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Serverless时代下大规模微服务应用运维的最佳实践 立即下载
最大化阿里云OpenAPI能力的方法和实践 立即下载
云效携手SAE助力掌讯科技持续降本提效 立即下载