Skip to main content

Özel Veri kümelerine erişimERDDAP™

Pek çokERDDAP™Kurulumlar etkinleştirilmez ve böylece kullanıcıların giriş için herhangi bir yol sağlamaz, ne de özel veri setleri vardır.

Bazı bazılarıERDDAP™Kurulumlar etkinleştirilen doğrulamaya sahiptir. Şu anda,ERDDAP™Sadece Google-managed e-posta hesapları aracılığıyla kimlik doğrulamalarını destekler, bu da e-posta hesaplarını içerirNOAAVe birçok üniversite. Eğer birERDDAP™Kimlik doğrulama etkinleştirdi, Google tarafından yönetilen bir e-posta hesabı olan herkes giriş yapabilir, ancak sadece özel veri setlerine erişimleri olacaktır.ERDDAP™Yönetici onlara erişim için açıkça yetki verdi.

Güncelleme talimatları

Aşağıdaki bilgilerin bazıları tarih dışındadır. Bu güncel olana kadar, kullanabilirsinizBu blog yazısıSon adımlar için, senaryolarla özel bir veri setinden veri almak.

Tarayıcılarla İnsanlar

İnsan kullanıcılarıERDDAP™Giriş yapabilirERDDAP™Özel veri setlerine erişmek için bir tarayıcıda, erişmek için yetkili olduklarını.

Giriş yapmak için:

  1. Üstteki herhangi bir şeyin solunda bağlantıya tıklayınERDDAP™Web sayfası. Eğer bağlantıda bir giriş yoksa, bağlantıdaERDDAP™Kurulum etkinleştirilmedi ve özel veri setleri yoktur.  
  2. Google hesabınızı imzalamak için düğmeye tıklayın. Düğmenin metni "Kaydetilmiş" olarak değiştirilmelidir.  
  3. Log'e tıklayınERDDAPdüğme. Web sayfası söylemek için değişmeli You are login in as as Senin E-posta . Değilse, 5 saniye bekleyin ve Girişe GirinERDDAPTekrar düğme. Aşırı durumlarda, beklemeniz gerekebilir ve sonra birkaç kez tekrar deneyin.  
  4. Tarayıcınızın Back düğmesine kullanmayın. "Use the "ERDDAPYukarıdakilerin üst kısmında bağlantı, sonra gitmek için diğer bağlantıları kullanınERDDAP™İlgilendiğiniz sayfalar. Önbelli bir web sayfası giriş olmadığını söylüyorsa, sayfayı yeniden yükleyin.  

Senaryolar

\[Bu, Lynn DeWitt tarafından sağlanan bilgilerden biraz değiştirilebilir, bunu yapılandıran zor işi kim yaptı. Lynn, çok teşekkür ederim! Düzeltmeler veya önerileriniz varsa, lütfen e-posta erd.data @ noaaa.gov .\]

Ayrıca giriş yapmak da mümkündür.ERDDAP™Ve bir senaryo aracılığıyla özel veri setlerine erişim. İşte kullanılan bir örnekcurl:

  1. Bu talimatlar, 2 faktör doğrulamanın yayınlanmadığı bir gmail adresini kullandığınızı varsayıyor. Ana gmail adresiniziz 2 faktör doğrulama çıktıysa, 2 faktör doğrulama ile başka bir gmail adresi oluşturmayı düşünün.  
  2. Giriş yapınERDDAP™Senaryonuzda kullanmak istediğiniz gmail adresi ile ve gerekli herhangi bir izni kabul edin, sonra tamamen geri girin.  
  3. Tarayıcı Geliştirici Araçları açın ve Ağ sekmesine gidin.  
  4. Click on the the theERDDAP™"log in" linki, sonra "Sign in" düğmesine tıklayın ve talep edilirse uygun e-posta adresini seçin.  
  5. "Sign in" butonuna değişikliklerden sonra, Geliştirici Araçları Ağı sekmesi aşağıdaki gibi görünen iki giriş gösterecektir. (Örneğin, Firefox) :
    iframerpc?action=issueToken&response loginGoogle.html  

Bu URL'lerin her ikisine de fare doğru tıklama bağlam menüsünü kullanın ve onları basit bir metin editörü editörüne yapıştırın.   6. "Log into theERDDAP" düğme ve "copy as cURL" gibi görünen bağlantı:

    login.html  

Ve bu üçüncülüğü yapıştırıncurlmetin dosyasına komuta edin.   7. Metin dosyasında, şu anda aşağıdaki gibi 3 çizgiye sahip olacaksınız, nerede giriş yapmışsınızERDDAP™server at ' * https://host.somewhere.com/erddap * ". İlk önce The first the firstcurlkomut kullanıcı profilinizi "login\_hint" olarak alır ve "id\_token" yaratır. İkincisi, Google'a giriş yapmak için id\_token'i kullanır ve üçüncü o zaman girişleri giriş yapar.ERDDAP.

    curl 'https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response\\_type=token%20id\\_token&scope=openid%20profile%20email&client\\_id=ABCDEFG.apps.googleusercontent.com&login\\_hint=XXXXXXXXXX&ss\\_domain=https%3A%2F%2Fhost.somewhere.com&origin=https%3A%2F%2Fhost.somewhere.com' --2.0 -H 'Host: accounts.google.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://accounts.google.com/o/oauth2/iframe' -H 'Cookie: lotsofcookiestuff' -H 'Connection: keep-alive' curl 'https://host.somewhere.com/erddap/loginGoogle.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: cookiestuff' -H 'Connection: keep-alive' --data 'idtoken=HUGELONGIDTOKEN' curl 'https://host.somewhere.com/erddap/login.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: typeacceptstuff' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Cookie: cookiestuff' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1'
  1. Yukarıdaki 3 satır, bir komut satırından kesin olarak çalıştırırken, sizi bir komut satırına girişecektir.ERDDAP. Buları bir senaryoda kullanmak için, ilk çizgiden id\_token yakalamanız gerekir, ikinci çizgiye besleyin ve bir kurabiye daha sonraki hatlarla okumak için yazın.  
  2. Bir senaryo geliştirmek için, ilk önce çalıştırın (‘ ‘ ‘ https://accounts.google.com ) curlTam olarak geliştirici araçlardan kopyalandığı gibi ve cevabı yakalamak (Bir alabildiğincurlBayrak hakkında hata "-2.0" sadece onu kaldır) . php'de aşağıdaki gibi görünüyor:
    $gcurlstuff="curl 'https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response\\_type=token%20id\\_token&scope=openid%20profile%20email&client\\_id=ABCDEFG.apps.googleusercontent.com&login\\_hint=XXXXXXXXXX&ss\\_domain=https%3A%2F%2Fhost.somewhere.com&origin=https%3A%2F%2Fhost.somewhere.com' -H 'Host: accounts.google.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://accounts.google.com/o/oauth2/iframe' -H 'Cookie: lotsofcookiestuff' -H 'Connection: keep-alive'"; //execute the curl command: exec($gcurlstuff,$output,$status); //the response is a json array in $output $response=json\\_decode($output\\[0\\],true); //the part you need is in "id\\_token": $id\\_token=$response\\["id\\_token"\\];

Google'a ikinci çizgiyi $id\_token kullanarak giriş yapın, ilk önce "-H 'Cookie: Things' parametresini ortadan kaldırır ve bunun yerine " şeyler" parametresini ortadan kaldırırsınız.curlBir kurabiye yazmak için:

    $glcurlstuff="curl 'https://host.somewhere.com/erddap/loginGoogle.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: \\*/\\*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: cookiestuff' -H 'Connection: keep-alive' --data 'idtoken=".$id\\_token."' -b cookies.txt -c cookies.txt" exec($glcurlstuff,$output1,$status);

Giriş yapınERDDAP™Tekrar "-H 'Cookie: şeyler' parametresini ortadan kaldırır ve daha önce yazılmış kurabiyeyi kullanır:

    $ecurlstuff="curl 'https://host.somewhere.com/erddap/login.html' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: typeacceptstuff' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://host.somewhere.com/erddap/login.html' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1 -b cookies.txt"' exec($ecurlstuff,$output2,$status);

Artık aynı kurabiyeyi kullanarak sunucudan veri talep edebilirsiniz:

    $curlstuff="curl -s 'https://host.somewhere.com/erddap/tabledap/datasetid.csv?variablelist' -H 'Host: host.somewhere.com' -H 'User-Agent: useragentstuff' -H 'Accept: typeacceptstuff' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -b cookies.txt"; exec($curlstuff,$output3,$status); //$output3 will be data in csv!