首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为创建Bearer令牌

如何为创建Bearer令牌
EN

Stack Overflow用户
提问于 2018-05-21 08:19:56
回答 1查看 904关注 0票数 0

要将对象上传到google云存储桶,我需要一个身份验证令牌。我选择了JSON方法将对象上传到桶中。

代码语言:javascript
复制
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,  "https://www.googleapis.com/upload/storage/v1/b/Mybucket/o?uploadType=media");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "yourdata");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = "Authorization:Bearer <TOKEN>";
$headers[] = "x-goog-project-id: xxxxxxxxxxx";
$headers[] = "x-goog-user-project: xxxxxxxxxxx";
$headers[] = "Content-Length: 8";
$headers[] = "Content-Type: image/jpeg";
$headers[] = "x-goog-acl: public-read-write";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
?>
  1. 在没有这些类型的身份验证或任何其他身份验证方法的情况下,有什么方法可以上传对象吗?
  2. 如何使用api/curl/php以编程方式生成此令牌(承载)?
EN

回答 1

Stack Overflow用户

发布于 2018-06-18 10:33:14

代码语言:javascript
复制
function getOAuthToken(){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    $headers = array();
    $headers[] = "Metadata-Flavor: Google";
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $result = curl_exec($ch);
    if (curl_errno($ch)) {
      //  echo 'Error:' . curl_error($ch);
    }
    curl_close ($ch);
    $result = json_decode($result,true);
    return $result['access_token'];
}

$result‘’access_ token‘是承载令牌。

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

https://stackoverflow.com/questions/50444654

复制
相关文章

相似问题

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