【问题标题】:How to embed private videos from the GDrive如何从 GDrive 嵌入私人视频
【发布时间】:2014-01-06 21:34:59
【问题描述】:

我有一个网站向人们收取观看视频的费用。我正在尝试使用“谷歌驱动器”作为视频的流服务器。我创建了一个帐户服务和私钥,我正在使用 php 库,如下所示:

define('ID_VIDEO', '0B9SXFdezvkZtOE9xVlVNR3U0a1U');

const CLIENT_ID = 'XXXXXXXXXXXXX.apps.googleusercontent.com';
const SERVICE_ACCOUNT_NAME = 'XXXXXXXXXXXXXX@developer.gserviceaccount.com';
const KEY_FILE = 'XXXXXXXXXXXXXXXXXXXXXX-privatekey.p12';

$client = new Google_Client();
$client->setApplicationName("JVideos");

session_start();
if (isset($_SESSION['token'])) {
 $client->setAccessToken($_SESSION['token']);
}

// Load the key in PKCS 12 format (you need to download this from the
// Google API Console when the service account was created.
$key = file_get_contents(KEY_FILE);
$client->setAssertionCredentials(new Google_AssertionCredentials(
SERVICE_ACCOUNT_NAME,
array('https://www.googleapis.com/auth/drive'),
$key)
);

$client->setClientId(CLIENT_ID);

$service = new Google_DriveService($client);
$file = $service->files->get(ID_VIDEO);
$access_toke = json_decode($client->getAccessToken(), TRUE);
$access_toke = $access_toke['access_token'];
?>
<embed width="100%" height="100%" name="plugin" src="<?= urldecode($file['embedLink']);?>&access_token=<?= $access_toke;?>" type="application/x-shockwave-flash" >

问题是:如何在没有任何人登录谷歌的情况下将此视频嵌入我的网站,视频应该通过上面代码中的这个 api 执行的身份验证来观看。当我执行此代码时,谷歌返回给我,这是登录所必需的。

谢谢

【问题讨论】:

    标签: video-streaming google-drive-api


    【解决方案1】:

    如果文件是共享的“知道链接的任何人都可以查看”或“公众可以查看”,则代码应该可以正常工作。

    用户的浏览器需要访问文件来渲染视频,就像您的服务器获取文件ID一样。

    我建议使用“知道链接的任何人都可以查看”权限,这样视频就不会意外显示在搜索结果中。

    【讨论】:

    • 您好,该代码可以很好地带来视频,问题是视频不能公开,因为观看它们需要付费。当显示此视频时,谷歌要求用户登录谷歌帐户。中心思想是使用 google 作为私有视频服务器流,无需用户拥有 google 帐户即可在在线课程中使用。
    【解决方案2】:

    我尝试过的方式不适用于不希望您的视频公开显示并且不希望用户也拥有谷歌帐户来观看视频的网站。完成此任务的更好方法是使用 Google Cloud Storage,而不是使用 Google Drive。

    要完成此任务,首先创建一个云存储帐户并生成 .pem 文件,请参阅此链接:https://developers.google.com/storage/docs/accesscontrol#Signed-URLs

    在此链接上尝试此代码后:https://stackoverflow.com/a/20817078/1018568

    这种方法对我来说效果很好。

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 2016-06-07
      • 2016-01-24
      • 1970-01-01
      • 2012-04-20
      • 2018-01-27
      • 2015-08-24
      • 2018-08-28
      • 1970-01-01
      相关资源
      最近更新 更多