首页
/ Etsy 项目技术文档

Etsy 项目技术文档

2024-12-23 06:04:44作者:昌雅子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 项目的技术文档,希望对您有所帮助。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
271
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
910
542
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
341
1.21 K
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
142
188
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
377
387
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
63
58
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.1 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
87
4