认证

填写我们的申请表收到Alchemer API关键更新/更改的通知。

要通过API访问您的帐户,您需要创建用于身份验证的API密钥和API密钥。

管理员用户

要获取API密钥和API密钥管理用户可以转到安全> API访问点击创建API密钥

创建API密钥

由于每个用户生成API密钥,您需要选择要为其生成密钥的用户。确保每个访问API的每个用户生成键。

所有用户的所有API密钥都将显示在API设置页面上。如果在任何时候怀疑用户的API密钥已被泄露,您可以单击重新生成API键按钮创建一个新的密钥。

重新生成API键

如果用户尝试使用旧密钥进行身份验证,会发生什么情况?

如果为具有现有密钥的用户创建新密钥,则会删除其旧API密钥,并且不再工作。这是您将获得的回报:

“结果\确定”:false,“代码”:401,“消息”:“登录失败/验证令牌无效”

如果您只是为新用户创建密钥,这不会影响您帐户中设置的任何其他密钥。

非管理员用户

对于非管理员用户,一旦您的帐户管理员为您生成了API密钥,该密钥将在下可用帐户>集成> API键。如果您在此处没有API键,请联系您的帐户管理员以生成一个。

非管理员:Access API键

使用API密钥进行调用

以下是使用API​​密钥的示例调用:

https://api.alchemer.com/v4/survey?api_token=E4F796932C2743FEBF150B421BE15EB9&api_token_secret=A9fGMkJ5pJF1k

无效的api\U令牌或api\U令牌\U密钥

如果您提供和无效api_token.api_令牌_机密,您将看到以下错误消息:

提供的api_令牌或api_令牌密钥无效

非统组织

要使用OAuth进行身份验证,您将希望首先注册您的插件/应用程序。您注册的每个插件应用程序将被配置为消费者密钥和秘密。此密钥和秘密方案类似于熟悉的协议中使用的公共和私钥和私钥。将使用该关键和秘密,与您的编程语言中的OAuth库一起使用,以签署您对API所做的每个请求。通过这个签名过程,我们相信识别自己的流量是您的,实际上是你。

注册你的申请

注册你的应用程序很简单登录您的alchemer帐户并填写OAuth申请登记表格。要访问OAuth应用程序注册表格,请转到以下URL:

美国客户使用:

https://app.alchemer.com/account/restful-register

欧盟客户使用:

https://app.alchemer.eu/account/restful-register

加拿大客户使用:

https://app.alchemer-ca.com/account/restful-register

查找OAuth的客户端库

Oauth.net维护几乎每种编程语言的库列表:http://oauth.net/code/

了解OAuth流程

安装或激活Alchemer插件时,应用程序中应向用户显示“连接到我的Alchemer帐户”链接。这似乎是一项相当多的工作,但实际上从用户的角度来看,这是非常直接的。

步骤1.从alchemer获取请求令牌

从alchemer的“get_token_request”URL请求OAuth令牌:

美国客户使用:

http://api.alchemer.com/head/oauth/request_token

欧盟客户使用:

http://api.alchemer.eu/head/oauth/request_token

加拿大客户使用:

http://apica.alchemer.com/head/oauth/request_token.

您需要通过下面概述的此呼叫传递几个参数。您的OAuth库实际上将照顾大部分。您必须为您的图书馆提供的参数是:炼金术器URL,您的回调URL,您的消费密钥,您的消费秘密。在注册申请时获得最后两种。挺容易!

此通话的所有参数:

请求参数 描述
oauth_consumer_key. 您注册时向您提供的消费者密钥。
oauth_nonce. 随机字符串(OAuth核心1.0规格,第8节
oauth_签名法 用于对请求进行签名的签名方法。这可以是纯文本或HMAC-SHA1。
oauth_signature. 发给申请的消费者秘密。如果使用明文签名方法,请在消费者秘密结束时添加%26。
oauth_timestamp. 请求的当前时间戳。此值必须是当前时间的+ -600秒。
oauth_版本 OAuth版本(1.0)。
xoauth_lang_pref (可选)用户的语言首选项;默认值为EN-US。
oauth_回调 Alchemer在用户授权访问其私人数据后将用户重定向到此URL。

此帖子/呼叫对我们的服务器将返回到您的应用程序的请求令牌。它不是“访问令牌”......这是下一步的点:

步骤2.授权访问

现在,在弹出窗口或完整窗口中将用户重定向到Alchemer授权页面:

美国客户使用:

http://api.alchemer.com/head/oauth/authenticate ?oauth_token=[request令牌从步骤1返回]

欧盟客户使用:

http://api.alchemer.eu/head/oauth/authenticate?oauth_token=[request令牌从步骤1返回]

加拿大客户使用:

http://apica.alchemer.com/head/oauth/authenticate ?oauth_token=[request令牌从步骤1返回]

此页面将要求用户对请求进行身份验证,并根据进行身份验证的用户授予访问API数据的权限。

如果您希望使用应用程序的名称自定义此页面,您可以通过其他参数,例如:custom_pluginname = + app + name。

注意:您将注意到您的重定向URL不是本第二步的一部分。这是OAuth中的安全措施 - 它是在原来的令牌请求中提供的,所以不要恐慌!

第三步。获取访问令牌

一旦用户验证了对其数据的访问权限,他们将被重定向回您在初始请求期间提供的回调URL。然后将返回一个名为oauth_verifier的参数。现在可以将此令牌和您的请求令牌交换为访问令牌,该令牌将用于将来对API的所有调用。要获取访问令牌,必须将前一个端点(通常由oauth库处理)返回的oauth_令牌和oauth_验证器传递到以下端点。

http://api.alchemer.com/head/oauth/access_token.

访问令牌将包括OAuth_Token和OAuth_Token_secret。您应该在数据库中存储这些并使用它们来签署未来的呼叫。

第四步。进行API调用

为了使用OAuth进行身份验证,您需要将以下所有变量添加到API调用中。正如你所看到的,有很多!您可以自己执行此操作或使用自动生成OAuth_Signature方法,OAuth_Timestamp,OAuth_Version和OAuth_Nonce的库。

请求参数 描述
oauth_consumer_key. 您注册时向您提供的消费者密钥。
oauth_签名法 用于对请求进行签名的签名方法。这可以是纯文本或HMAC-SHA1。
oauth_nonce. 随机字符串(OAuth核心1.0规格,第8节
oauth_signature. 由“&”字符分隔的串联使用者机密和OAuthToken机密。如果使用纯文本签名方法,请在使用者机密末尾添加%26。如果使用HMAC-SHA1,请参阅OAuth核心1.0规格,第9.2节
oauth_timestamp. 请求的当前时间戳。此值必须是当前时间的+ -600秒。
oauth_版本 OAuth版本(1.0)。
oauth_token. 通过呼叫访问Access_Token。