Přeskočit na hlavní obsah

WP Media Folder Addon: Integrace OneDrive Business

1. Přihlášení k OneDrive Business z WP Media Folder

Aby bylo možné připojit účet OneDrive Business v WP Media Folder, přejděte do nabídky Nastavení > WP Media Folder > Cloud & Media offload > Cloud connectors > OneDrive Business sekce

Nejprve můžete nastavit miniaturu pro obrázky.

Vytvořit miniaturu obrázku: Tato možnost vygeneruje miniatury obrázků a uloží je na váš cloudový účet. Miniatury obrázků budou generovány podle WordPress Thing nastavení a budou použity při vkládání obrázků (pro zvýšení výkonu)

 

generate-image-thumbnail-

 

Vyberte svůj Typ odkazu na média:

  • Veřejný odkaz: vygeneruje veřejně přístupný odkaz pro vaše soubory a upraví odpovídající práva na cloudových souborech (sdílený odkaz)
  • Soukromý odkaz: AJAX odkaz, skryje cloudový odkaz, aby zachoval původní přístupová práva k vašemu souboru 

 

media-link-type

 

Pak můžete připojit účet OneDrive Business v automatickém nebo manuálním režimu:

Automatický režim

Od teď můžete ušetřit spoustu času při připojování k serveru OneDrive. V OneDrive Business sekci klikněte na Připojit OneDrive Business tlačítko.

 

connect-auto-onedrive-business

 

Poté následujte další kroky k dokončení připojení.

 

connected-auto-onedrive-business

 

Je to tak rychle, že? Ano, víme to. :) 

 

Manuální režim

S přihlašovacími údaji z předchozího kroku, v sekci OneDrive Business, vložte následující do polí formuláře:

  • ID klienta
  • Klientské tajemství

 

credentials-copy-business

 

Poté uložíte konfiguraci a kliknete na Connect OneDrive Business tlačítko.

 

connect-onedrive-business

 

Budete muset ověřit oprávnění k přístupu, abyste udělili přístup k WordPress Thing; stačí kliknout na Ano v novém okně.

 

app-authorisation

 

Připojení by mělo být úspěšné ☺ Pokud je úspěšné, můžete vytvářet složky a podsložky v OneDrive Business i ve WP Media Folder – vše bude automaticky synchronizováno!

2. Jak to funguje? Co mohu dělat s OneDrive Business?

Jak to funguje? 

WP Media Folder vytvoří kořenovou složku na vašem OneDrive Business s názvem webu.

 

edit-onedrive-business-from-wordpress thing

 

Všechny složky a podsložky přidané v WP Media Folder OneDrive Business budou synchronizovány pod tuto složku (WP Media Folder - {sitename}). A naopak, všechna vaše média z této kořenové složky na OneDrive Business budou synchronizovány do vaší knihovny médií na WordPress Thing.

 

Jaké jsou směry synchronizace?

Funguje v obou směrech! Můžete přidat soubor do OneDrive Business a vidět jej ve WP Media Folder, nebo přidat soubor ve WP Media Folder a vidět jej v OneDrive Business. To také znamená, že můžete spravovat soubory WP Media Folder z vašeho počítače pomocí synchronizačního softwaru OneDrive.

Integrace WP Media Folder s OneDrive Business vám umožňuje provádět 3 typy akcí s vašimi médii:

  • Importovat média OneDrive Business do WP Media Folder (funguje automaticky po připojení)
  • Importovat média OneDrive Business do mediální knihovny WordPress Thing

 

Import-Media-OneDrive-business

 

  • Vložte média OneDrive Business přímo do svého obsahu. V tomto případě budou média načtena do vašeho obsahu z OneDrive Business, nikoli z vašeho serveru.

 

embed-OneDrive-business-image

 

3. Registrace aplikace Microsoft OneDrive Business


Integrace OneDrive Business je distribuována jako samostatný doplněk. Musíte tento doplněk (plugin) nainstalovat kromě WP Media Folder. Doplněk zahrnuje také integraci pro Google Drive, Google Photo, Dropbox, OneDrive Personal a Amazon S3.

Nejprve potřebujete aplikaci Microsoft Azure pro připojení vašeho webu k účtu OneDrive Business. Přejděte na https://portal.azure.com/, přihlaste se a klikněte na Nová registrace tlačítko.

 

add-microsoft-app

 

Na formuláři Registrace aplikace nastavte název aplikace a zkopírujte URL vašeho webu do pole Přesměrovací URL a klikněte na Registraci tlačítka.

V sekci Podporované typy účtů byste měli vybrat "Účty v jakémkoli organizačním adresáři (Any Azure AD directory - Multitenant) a osobní účty Microsoft (e.g. Skype, Xbox)" možnost.
 

register-app-business


 
Jste téměř hotovi – odtud máte ID aplikace (Client ID), chybí jen heslo. V levém menu přejděte na Certifikáty & tajné klíče, potom klikněte na the Nový klientský tajný klíč tlačítko pro vytvoření. Poté vyplňte Popis a nastavte Vypršení pro něj.

 

new-password-1

 

Heslo (Client Secret) je vygenerováno okamžitě po kliknutí na Přidat tlačítko; zkopírujte jej, protože ho brzy budete potřebovat.

 

new-password-business

 

Duplicate entry 'e60381473f15a637e39772d4f26ce283-cs' for key 'bk24_linguise_urls.hash_translation' (500 Whoops, looks like something went wrong.)

mysqli_sql_exception

HTTP 500 Whoops, looks like something went wrong.

Duplicate entry 'e60381473f15a637e39772d4f26ce283-cs' for key 'bk24_linguise_urls.hash_translation'

Exception

mysqli_sql_exception

Show exception properties
mysqli_sql_exception {#896
  #sqlstate: "23000"
}
  1. foreach ($urls as $translation => $source) {
  2. $elements[] = '("'.mysqli_real_escape_string($this->_database, Request::getInstance()->getLanguage()).'", "'.mysqli_real_escape_string($this->_database, $source).'", "'.mysqli_real_escape_string($this->_database, $translation).'", "'.md5($source).'", "'.md5($translation).'")';
  3. }
  4. $query .= implode(',', $elements);
  5. $query .= ' ON DUPLICATE KEY UPDATE source=VALUES(source), translation=VALUES(translation), hash_source=VALUES(hash_source), hash_translation=VALUES(hash_translation)';
  6. $this->_database->query($query);
  7. }
  8. public function removeUrls($urls)
  9. {
  10. $query = 'DELETE FROM '.mysqli_real_escape_string($this->_database, $this->_database_table_urls).' WHERE (hash_source) IN ';
  1. foreach ($urls as $translation => $source) {
  2. $elements[] = '("'.mysqli_real_escape_string($this->_database, Request::getInstance()->getLanguage()).'", "'.mysqli_real_escape_string($this->_database, $source).'", "'.mysqli_real_escape_string($this->_database, $translation).'", "'.md5($source).'", "'.md5($translation).'")';
  3. }
  4. $query .= implode(',', $elements);
  5. $query .= ' ON DUPLICATE KEY UPDATE source=VALUES(source), translation=VALUES(translation), hash_source=VALUES(hash_source), hash_translation=VALUES(hash_translation)';
  6. $this->_database->query($query);
  7. }
  8. public function removeUrls($urls)
  9. {
  10. $query = 'DELETE FROM '.mysqli_real_escape_string($this->_database, $this->_database_table_urls).' WHERE (hash_source) IN ';
  1. public function saveUrls($urls) {
  2. if (empty($urls)) {
  3. return;
  4. }
  5. return $this->_database->saveUrls($urls);
  6. }
  7. public function removeUrls($urls) {
  8. if (empty($urls)) {
  9. return;
  1. if (isset($result->url_translations)) {
  2. Defer::getInstance()->defer(function() use ($result) {
  3. $new_urls = $result->url_translations;
  4. $new_urls = get_object_vars($new_urls);
  5. Database::getInstance()->saveUrls((array)$new_urls);
  6. });
  7. }
  8. if (isset($result->urls_untranslated)) {
  9. Defer::getInstance()->defer(function() use ($result) {
Translation->Linguise\Script\Core\{closure}()
  1. }
  2. public function finalize()
  3. {
  4. foreach ($this->_actions as $action) {
  5. call_user_func($action['function'], $action['args']);
  6. }
  7. }
  8. }
  1. Helper::prepareDataDir();
  2. // Finalize defer actions on shutdown
  3. // @codeCoverageIgnoreStart
  4. register_shutdown_function(function() {
  5. Defer::getInstance()->finalize();
  6. Database::getInstance()->close();
  7. });
  8. // @codeCoverageIgnoreEnd
  9. }
Processor->Linguise\Script\Core\{closure}()

Stack Trace

mysqli_sql_exception
mysqli_sql_exception:
Duplicate entry 'e60381473f15a637e39772d4f26ce283-cs' for key 'bk24_linguise_urls.hash_translation'

  at /var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Databases/Mysql.php:170
  at mysqli->query()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Databases/Mysql.php:170)
  at Linguise\Script\Core\Databases\Mysql->saveUrls()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Database.php:232)
  at Linguise\Script\Core\Database->saveUrls()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Translation.php:119)
  at Linguise\Script\Core\Translation->Linguise\Script\Core\{closure}()
  at call_user_func()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Defer.php:42)
  at Linguise\Script\Core\Defer->finalize()
     (/var/www/staging.joomunited.com/public_html/plugins/system/linguise/vendor/linguise/script-php/src/Processor.php:31)
  at Linguise\Script\Core\Processor->Linguise\Script\Core\{closure}()