API sản phẩm của Amazon - Tìm kiếm thông tin và tổng quan cơ bản


125

Sau khi sử dụng API ebay gần đây, tôi đã hy vọng nó sẽ đơn giản để yêu cầu thông tin từ Amazon, nhưng có vẻ như không ...

Dường như không có một trang web tốt giải thích những điều cơ bản. Đối với người mới bắt đầu, dịch vụ được gọi là gì? Tôi nghĩ tên cũ đã bị loại bỏ và từ viết tắt AWS được sử dụng ở mọi nơi (nhưng đó không phải là một thuật ngữ ô bao gồm điện toán đám mây của họ và 20 dịch vụ khác nữa?).

Thiếu thông tin rõ ràng về quy trình 'chữ ký' mới. Tập hợp các đoạn chi tiết lại với nhau từ nhiều trang khác nhau mà tôi tình cờ thấy, dường như trước tháng 8 năm 2009, bạn chỉ cần một tài khoản nhà phát triển với Amazon để thực hiện các yêu cầu và lấy lại XML. Bây giờ bạn phải sử dụng một số quy trình mã hóa ưa thích để tạo thêm một số trong chuỗi truy vấn của bạn. Điều này có nghĩa là dữ liệu của Amazon hoàn toàn nằm ngoài tầm với của lập trình viên, những người chỉ muốn một giải pháp nhanh chóng và đơn giản?

Dường như có một chút thông tin về nguồn cấp RSS và bạn có thể nhận được nguồn cấp dữ liệu của các mục đã được 'gắn thẻ' một cách dễ dàng, nhưng tôi không thể biết liệu có cách nào để tìm kiếm tiêu đề bằng RSS không. Một số trang web dường như đề xuất điều này, nhưng tôi nghĩ rằng họ đã hết hạn bây giờ?

Nếu bất cứ ai có thể đưa ra một bản tóm tắt ngắn về trạng thái chơi hiện tại, tôi sẽ rất biết ơn. Tất cả những gì tôi muốn làm là đi từ một tiêu đề sách trong cơ sở dữ liệu của tôi và sử dụng Classic ASP để có được một bộ sản phẩm phù hợp từ Amazon, liệt kê ảnh bìa và giá cả.

Amazon 'widget' có thể hiển thị kết quả tìm kiếm từ khóa trên các trang của tôi, nhưng tôi có ít quyền kiểm soát hơn và chúng chỉ được hiển thị cho người dùng - mã của tôi không thể nhìn vào bên trong chúng.


1
Tôi đã dành quá nhiều thời gian loay hoay với API sản phẩm Amazon, nhiều API thực sự và PHP. Tất cả mã của tôi có sẵn ở đây.
Muskie

Tôi đặt mã PHP vào GitHub để tìm nạp và trình bày cách lấy thông tin khác nhau từ API sản phẩm Amazon, bằng cách nào đó mọi người nhận thấy ngày hôm nay. Mã PHP ban đầu được viết bởi Ulrich Mierendorff sau đó được sửa đổi bởi Sameer Borate và sau đó được mở rộng bởi tôi. Lời giải thích của Sameer có tại đây: coded Diesel.com/php/ Mạnh
Muskie

Nếu bạn muốn tôi đăng một mã mws pa tương tự, tôi có thể làm điều đó khi tôi về nhà.
McStuffins

Câu trả lời:


123

Bài đăng của bạn chứa một số câu hỏi, vì vậy tôi sẽ cố gắng trả lời từng câu hỏi một:

  1. API bạn quan tâm là API quảng cáo sản phẩm (PA). Nó cho phép bạn truy cập theo chương trình để tìm kiếm và truy xuất thông tin sản phẩm từ danh mục của Amazon. Nếu bạn gặp khó khăn khi tìm thông tin về API, đó là vì dịch vụ web đã trải qua hai lần thay đổi tên trong lịch sử gần đây: nó còn được gọi là ECS và AAWS.
  2. Quá trình chữ ký mà bạn đang đề cập là cùng chữ ký HMAC mà tất cả các dịch vụ AWS khác sử dụng để xác thực. Tất cả những gì được yêu cầu để ký các yêu cầu của bạn với API quảng cáo sản phẩm là một chức năng để tính toán hàm băm SHA-1 và khóa nhà phát triển AWS. Để biết thêm thông tin, hãy xem phần tài liệu dành cho nhà phát triển về việc ký yêu cầu .
  3. Theo tôi biết, không có hỗ trợ nào để truy xuất nguồn cấp RSS của sản phẩm hoặc thẻ thông qua PA. Nếu bất cứ ai có thông tin gợi ý khác, xin vui lòng sửa cho tôi.
  4. Các API REST hoặc SOAP sẽ làm cho trường hợp sử dụng của bạn rất đơn giản. Amazon cung cấp một hướng dẫn "bắt đầu" khá cơ bản có sẵn ở đây . Đồng thời, bạn có thể xem tài liệu dành cho nhà phát triển API hoàn chỉnh tại đây .

Mặc dù tài liệu hơi khó tìm (có thể do tất cả các thay đổi tên), API PA được ghi lại rất tốt và khá thanh lịch. Với một chút mỡ khuỷu tay và một số kinh nghiệm trước đây trong việc gọi ra các dịch vụ web, bạn sẽ không gặp khó khăn gì trong việc lấy thông tin bạn cần từ API.


27
Điều đáng nói là PA-API hiện không dùng nữa và Dịch vụ web Amazon Marketplace (MWS) hiện nên được sử dụng: developer.amazonservice.com/index.html
Dan Gravell

5
Liên kết chết cho hướng dẫn "bắt đầu" được tham chiếu ở mục số 4 ở trên.
jerhewet

9
@Dan: điều này không chính xác, đây là những mục đích khác nhau.
abatishchev

1
Tôi đoán bạn đúng, vì API vẫn tồn tại! Tôi tự hỏi tại sao tôi nghĩ điều này ... Tôi chắc chắn tôi đã nhận được một email nói điều này. Hoặc có thể nó chỉ bị phản đối cho một số cách sử dụng nhất định.
Dan Gravell

Bất cứ ai cũng có bất kỳ ý tưởng để có được tất cả các thông tin sản phẩm cho cửa hàng cụ thể chỉ?
SarveshwarPM

29

Tôi đồng ý rằng Amazon dường như cố tình che giấu ngay cả cách tìm tài liệu API, cũng như sử dụng nó. Tôi chỉ đang suy đoán thôi.

Đổi tên các dịch vụ từ "ECS" thành " API quảng cáo sản phẩm " có lẽ cũng không phải là động thái tốt nhất, về cơ bản nó đã vô hiệu hóa tất cả các mojo Google mà họ đã xây dựng theo thời gian.

Tôi mất khá nhiều thời gian để 'khám phá' liên kết được cập nhật này cho API quảng cáo sản phẩm . Tôi không nhớ có thể dễ dàng khám phá nó thông qua liên kết 'Nhà phát triển' điển hình trên trang web Amazon. Tài liệu này có vẻ hợp lệ và những gì tôi đã làm việc gần đây.

Việc thay đổi quy trình xác thực dường như cũng tăng thêm độ phức tạp, nhưng tôi chắc chắn rằng họ có lý do cho việc này.

Tôi sử dụng SOAP qua C # để liên lạc với API sản phẩm Amazon.

Với API REST, bạn phải mã hóa toàn bộ URL theo một cách khá cụ thể. Các thông số phải được sắp xếp, vv Chỉ còn nhiều việc phải làm. Với API SOAP, bạn chỉ cần mã hóa thao tác + dấu thời gian và đó là nó.

Bài đăng của Adam O'Neil tại đây, Cách lấy album, dvd và ảnh bìa blueray từ Amazon , đi qua phương pháp SOAP với C #. Nó không phải là mẫu ban đầu tôi kéo xuống và trái với nhận xét của anh ta, nó không phải là mẫu chính thức của Amazon mà tôi vấp phải, mặc dù mã trông giống hệt nhau. Tuy nhiên, Adam làm tốt công việc trình bày tất cả các bước cần thiết. Tôi ước tôi có thể tín dụng các tác giả ban đầu.


1
Nó cho tôi biết tôi cần một ứng dụng hoặc một trang web để đăng ký, nhưng tôi muốn đăng ký để tôi có thể truy cập API và xây dựng ứng dụng. Tôi có bỏ lỡ điều gì ở đây không?!
K ..


5

Tôi tìm thấy một lựa chọn tốt để yêu cầu thông tin sản phẩm của amazon tại đây: http://api-doc.axesso.de/

Đây là một api còn lại miễn phí, trả lại thông tin liên quan đến sản phẩm được yêu cầu.



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.