gbv / orcid-jskos
JSKOS 包装器,用于访问公共 ORCID API
Requires
- gbv/jskos: ^0.3.4
- gbv/jskos-http: ^0.3
- php-http/client-implementation: ^1.0
Requires (Dev)
- php-http/curl-client: ^1.7
- php-http/guzzle6-adapter: ^1.1
README
此仓库包含一个用 PHP 编写的包装器,用于通过 JSKOS 格式通过 实体查找微服务 API (ELMA) 访问公共 ORCID API。
背景
《开放研究人员和贡献者 ID (ORCID)》是一组代码,用于唯一标识科学和其他学术作者和贡献者。ORCID 标识符是国际标准名称标识符 (ISNI) 的一个子集,由四组 16 位数字组成。最后一位字符也可以是 X
。通过在前面加上 http://orcid.org/
前缀,可以得到一个 URI。例如
0000-0002-2997-7611
http://orcid.org/0000-0002-2997-7611
ORCID 组织提供 一个公共 API,用于访问和搜索 ORCID 简介。访问 API 需要“客户端 ID”和“客户端密钥”凭据,详情请参阅 http://support.orcid.org/knowledgebase/articles/343182。
要求
需要 jskos-php PHP 库。
您还需要来自您的 ORCID 简介的客户端凭据才能访问 ORIC API。
安装
composer require gbv/jskos-bartoc
这将自动为您的项目创建 composer.json
(除非已存在),并将 orcid-jskos 添加为依赖项。Composer 还会生成 vendor/autoload.php
以实现所有依赖项的自动加载。
使用
作为库使用
包装器可以作为 ORCIDService
类的实例使用,它是 \JSKOS\Service
的子类
require 'vendor/autoload.php'; $service = new ORCIDService($client_id, $client_secret);
请参阅 jskos-php-examples 了解如何将包装器作为更大 PHP 应用程序的一部分使用。
本地 Web 服务用于测试
作为服务器使用时,还需要实现 Http\Message\ResponseFactory
,例如
$ composer require php-http/guzzle6-adapter
本地运行应用程序在端口 8080 上,如下所示
$ composer install
$ ORCID_CLIENT_ID=... ORCID_CLIENT_SECRET=... php -S localhost:8080
您还可以将凭据放入上面描述的 credentials.php
中。
给定有效的凭据,ORCID 简介可以这样在 JSKOS 中访问
- https://:8080/?notation=0000-0002-2997-7611
- https://:8080/?uri=http://orcid.org/0000-0002-2997-7611
- https://:8080/?search=Dawn%20Wright
通过 Apache 网络服务器提供的 Web 服务
-
运行
composer install
以将依赖项下载到vendor
目录 -
添加一个包含客户端凭据的文件
credentials.php
,如下所示<?php define('ORCID_CLIENT_ID', '...'); define('ORCID_CLIENT_SECRET', '...');
您可以添加一条规则,禁止除 index.php
之外的所有直接访问
Require all denied
<Files index.php>
Require all granted
</Files>
Heroku 上的 Web 服务
简而言之
$ heroku create
$ heroku config:set ORCID_CLIENT_ID=...
$ heroku config:set ORCID_CLIENT_SECRET=...
$ git push heroku master
贡献
错误和功能请求在 GitHub 上跟踪。
请参阅 jskos-php 仓库中的 CONTRIBUTING.md
以获取一般指南。
作者和许可证
Jakob Voß jakob.voss@gbv.de
orcid-jskos 在 LGPL 许可证下授权(请参阅 LICENSE
了解详情)。