banner
xiaole

xiaole

前端工程师 | Trying To Do Better
tg_channel
twitter
github
email

Unsplash API Production 申請注意事項

最近搞了個封面圖製作工具 Cover Paint,使用 Unsplash 作為背景圖,由於 Demo 版本每小時只能訪問 50 次並不夠用,所以需要申請 Production 版本(每小時 5000 次請求)。

由於一開始沒有細看申請的要求導致審核了有三四次才通過,這邊文章就記錄一下具體的過程。

image.png

創建 App#

  1. 進入 Unsplash Image API官網,註冊登入並點擊 Your apps 按鈕
  2. 點擊 New Application 創建一個新的應用
  3. 同意所有條款,輸入應用名稱和描述
  4. 至此,新的 Demo 版本的應用已經創建好了

image.png

使用 Unsplash api#

在前端我使用的是 unsplash-js 這個官方提供的庫,具體使用的方法可以看官方的文檔。

其中需要的 key 可以在上一步創建的應用界面找到

image.png

申請 Production 版本#

可以提前查看 Unsplash API Guidelines。建議先將自己做的網站或別的類型的產品 Unsplash 相關部分先做完再進行申請,每小時 50 次是夠開發用的。因為申請應該是需要提交代碼截圖的。需要注意的是產品的名稱不要和 Unsplash 雷同

image.png

添加圖片作者的信息#

每一張圖片底部或其他位置都需要添加醒目的所屬作者的信息,點擊作者名稱可以跳轉到對應的 Unsplash 攝影師詳情頁(圖片的所有信息包括攝影師等 unsplash-js 已經提供了)。

注:這裡需要上傳一張截圖(最好是提供視頻)。如果是 web 應用,需要鼠標放在攝影師名字鏈接上,瀏覽器左下角會出現跳轉的鏈接地址。如果是其他類型的應用,則需要添加代碼截圖,表示點擊攝影師名稱會跳轉到對應的網頁。並且鏈接必須添加 utm 參數。

如下:其中 utm_source 可填寫為創建的應用名稱

<a  
  target="_blank"  
  href={`https://unsplash.com/@${user.username}?utm_source=cover-paint&utm_medium=referral`}  
>  
  {user.name}  
</a>

追蹤下載#

image.png

如果下載量為 0,則審批不會通過。

已我的項目舉例,當點擊圖片並添加了文字信息後。點擊下載時,需要追蹤這個下載的行為,unsplash-js 中提供了這個 api,unsplash-js-downloadtrack。當下載完成時調用這個 api 即可。

這裡可以提供一張截圖,並且在開發時就需要觸發這個追蹤下載行為,因為下載這個數據可能需要等到第二天才會有數據顯示。

const downloadCover = async () => {
    const ref = coverRef?.current as HTMLDivElement;
    if (ref === null) {
      return;
    }
    setDownloading(true);

    toPng(ref, { cacheBust: true })
      .then((dataUrl) => {
        const link = document.createElement("a");
        link.download = `coverImage.png`;
        link.href = dataUrl;
        link.click();
      })
      .catch((err) => {
        console.log(err);
      })
      .finally(() => {
        setDownloading(false);
      });

    if (unsplashInfo) {
      await trackDownload(unsplashInfo.downloadLocation);
    }
  };

添加應用描述信息#

最後一步需要在應用界面填寫完整詳細的應用描述,並盡可能的提供項目的截圖或視頻。你要做一個什麼應用,在項目中使用 Unsplash API 做什麼。如果有可能可以提供一個項目 demo 地址。

如圖我是這樣填寫的。
image.png
通過上述幾步應該可以申請到 Production,並且審核的時間還挺快的(48 小時之間一般都是有回復的)。如果申請不通過可根據郵件提示內容再繼續補充所需資料。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。