首页
/ Etsy 项目技术文档

Etsy 项目技术文档

2024-12-14 03:11:19作者:昌雅子Ethen

1. 安装指南

Etsy 是一个 Ruby gem,提供了对 Etsy API 的友好接口。以下是安装指南:

  • 安装最新稳定版本:

    gem install etsy
    
  • 如果希望使用最新的开发版本,可以从 GitHub 安装:

    git clone git://github.com/iamfmjk/etsy.git
    cd etsy
    rake install
    

依赖

该 gem 已经验证可以与 json 的 1.5.0 版本一起工作。它可能会与更高版本一起工作,但这尚未经过验证。

2. 项目使用说明

在使用这个项目之前,您需要在 etsy.com/your/apps 上创建一个应用,这将为您提供 API 密钥和密钥。

在 IRB 中粘贴以下内容,用您在 Etsy 上获得的 API 密钥和密钥替换:

require 'etsy'
Etsy.protocol = "https"
Etsy.api_key = 'YOUR API KEY'
Etsy.api_secret = 'YOUR SECRET'
request = Etsy.request_token
Etsy.verification_url

将验证 URL 粘贴到浏览器中,并授权应用程序。这将给您一个包含代码的页面。在 IRB 中粘贴以下内容,替换代码:

access = Etsy.access_token(request.token, request.secret, 'CODE')
Etsy.myself(access.token, access.secret)

如果您收到了 401 未授权错误,那么您可能没有有效的 API 密钥和密钥,或者验证 URL 已超时。

3. 项目 API 使用文档

Etsy API 有两种模式:公共模式和认证模式。

公共模式

公共模式只需要 API 密钥:

require 'etsy'
Etsy.api_key = 'foobar'

从那里,您可以进行任何非认证的 API 调用。

认证调用

Etsy API 支持对认证用户的扩展信息的检索和写支持。认证可以从控制台或 Ruby Web 应用程序中执行。

控制台

对于从控制台进行简单认证,配置必要的参数:

require 'etsy'
Etsy.api_key = 'key'
Etsy.api_secret = 'secret'

首先,生成请求令牌:

request = Etsy.request_token

然后,您需要将验证 URL 粘贴到浏览器中:

Etsy.verification_url

一旦允许访问,您可以通过提供 Etsy 网站上显示的验证器来生成访问令牌:

access = Etsy.access_token(request.token, request.secret, 'abc123')

现在可以通过传递访问令牌和密钥来发出认证调用:

Etsy.myself(access.token, access.secret)

对于认证调用,必须传递密钥和密钥。

auth = {:access_token=>access.token, :access_secret=>access.secret}
Etsy::Transaction.find_all_by_shop_id(shop_id, auth.merge(options))

Web 应用程序

通过 Web 应用程序进行认证的过程相似,但需要配置回调 URL:

require 'etsy'
Etsy.api_key = 'key'
Etsy.api_secret = 'secret'
Etsy.callback_url = 'http://localhost:4567/authorize'

在这种模式下,您需要在重定向到验证 URL 之前存储请求令牌和密钥。以下是一个使用 Sinatra 的简单示例:

enable :sessions

get '/' do
  request_token = Etsy.request_token
  session[:request_token]  = request_token.token
  session[:request_secret] = request_token.secret
  redirect Etsy.verification_url
end

get '/authorize' do
  access_token = Etsy.access_token(
    session[:request_token],
    session[:request_secret],
    params[:oauth_verifier]
  )
  # access_token.token 和 access_token.secret 可以保存下来用于未来的 API 调用
end

环境

Etsy API 之前有一个沙盒环境和生产环境。他们最近取消了沙盒环境,但设置环境的能力已经保留,以防在 v3 中实现。

如果没有设置,默认值是:生产。

您可以使用以下方式设置:

Etsy.environment = :production

4. 项目安装方式

Etsy 可以通过以下两种方式进行安装:

  • 通过 Ruby gem:

    gem install etsy
    
  • 从 GitHub 源代码安装:

    git clone git://github.com/iamfmjk/etsy.git
    cd etsy
    rake install
    

以上就是 Etsy 项目的技术文档,希望对您有所帮助。

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
263
53
国产编程语言蓝皮书国产编程语言蓝皮书
《国产编程语言蓝皮书》-编委会工作区
64
16
open-eBackupopen-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
85
63
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
53
44
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
195
45
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
268
69
xxl-jobxxl-job
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
Java
9
0
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
171
41
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
38
24
qwerty-learnerqwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
332
27