Integrating other social networks: Difference between revisions
(Added links to dev docs and more detailed information on privacy and security) |
|||
Line 39: | Line 39: | ||
* Choose the "Website" option | * Choose the "Website" option | ||
* Type a name for your App (eg. “Diaspora at social.example.org”) and click "Create New Facebook App ID" | * Type a name for your App (eg. “Diaspora at social.example.org”) and click "Create New Facebook App ID" | ||
* Choose a category ( | * Choose a category (e.g. Communication) and click "Confirm" | ||
* Fill in the "Site URL" and "Mobile Site" URLs. You can use the same URL for both ( | * Fill in the "Site URL" and "Mobile Site" URLs. You can use the same URL for both (e.g. `https://social.example.org`) and click "Next" | ||
* Your App has now been created. | * Your App has now been created. | ||
* Return to the [https://developers.facebook.com/apps/?action=create Facebook Developers] home page and click the "Apps" dropdown menu and select your new App | * Return to the [https://developers.facebook.com/apps/?action=create Facebook Developers] home page and click the "Apps" dropdown menu and select your new App | ||
* The App ID is visible by default but the App Secret is hidden. Click on "Show" and re-enter your password to reveal the App Secret | * The App ID is visible by default but the App Secret is hidden. Click on "Show" and re-enter your password to reveal the App Secret. Remember to '''never''' expose your App Secret | ||
* Copy your App ID and your App Secret to your <tt>config/diaspora.yml</tt> | * Copy your App ID and your App Secret to your <tt>config/diaspora.yml</tt> | ||
* Click "Settings" | * Click "Settings" | ||
* Add your pod domain (eg. https://social.example.org) to "App Domains" and add your email to the "Contact Email" then click "Save Changes" | * Add your pod domain (eg. https://social.example.org) to "App Domains" and add your email to the "Contact Email" then click "Save Changes" | ||
* | * Before going live, you can create [https://developers.facebook.com/docs/apps/test-users test user acccounts] with different permissions that do not interfere with real Facebook users to make sure that everything is set up fine | ||
* When you are ready to go, click "Status & Review" | |||
* In the "Do you want to make this app and all its live features available to the general public?" section, press the button to be "Yes" | * In the "Do you want to make this app and all its live features available to the general public?" section, press the button to be "Yes" | ||
* Restart Diaspora on your server | * Restart Diaspora on your server | ||
=== Additional information === | |||
You can always create another [https://developers.facebook.com/docs/apps/test-apps test application] based on your live application if you need to update anything and then migrate the changes. | |||
=== Application for posting to Facebook === | === Application for posting to Facebook === | ||
By default posting from diaspora* is possible only from the app | By default posting from diaspora* is possible only from the app administrator's Facebook account. To allow all users on the pod to post with the Facebook integration, your app needs permissions to be requested from Facebook as well as [https://developers.facebook.com/docs/apps/review review and approvement]. This is due to the [https://developers.facebook.com/docs/apps/api-v1-deprecation deprecation of Graph API v1.0] and the introduction of more user privacy. | ||
Requirements: | Requirements: | ||
Line 60: | Line 64: | ||
* Developer Contact Email, | * Developer Contact Email, | ||
* Link to privacy policy, (https://[yourpod][dot][tld]/terms) | * Link to privacy policy, (https://[yourpod][dot][tld]/terms) | ||
* Detailed description with pictures and a | * Detailed description with pictures and a [https://developers.facebook.com/docs/apps/test-users test account] for Facebook. | ||
Tip: | Tip: |
Revision as of 17:09, 27 May 2015
General
Keys will be entered into your config/diaspora.yml
- Go to https://apps.twitter.com and sign in
- Click on ‘Create an app’
- Register your app
- Give it a name. For example "Diaspora at example.org"
- Give it a description
- Set the application website to your pod URL or a page that describes what Diaspora is and what your pod has to do with it
- Important: Set the callback URL to https://your_pod/auth/twitter/callback, replacing your_pod of course.
- There’s a ToS to accept
- There is a Captcha ;)
- Click “Create Twitter application”
- Click the “Permissions” tab and change the “Access” to “Read and Write”.
- Click the “Keys and Access Tokens” tab. You now can see your “Consumer Key” and your “Consumer Secret”, copy them to the right places in config/diaspora.yml
- Restart Diaspora on your sever
(You can skip that if you plan to also add support for more services. Just remember to do it once you're finished with all of them.) - You’re done. It’s now possible to post to Twitter from your pod :)
Tumblr
- Goto Tumblr Apps page
- Enter your Application Name (eg. “Diaspora at social.example.org”)
- Enter the Application website (eg. https://social.example.org)
- Enter the Administrative contact email address
- Important: Set the “Default callback URL” to your pod url (including http/https)+ /auth/tumblr/callback So if your pod is located at https://social.example.org enter https://social.example.org/auth/tumblr/callback
- You can upload an Icon if you wish
- Click register
- You’ll be redirected to the Application Overview where you can see your "OAuth Consumer Key". Click on “Show secret key” to reveal your Secret Key.
- Copy your OAuth Consumer Key and your Secret Key App to your config/diaspora.yml
- Restart Diaspora on your server
- You’re done. It’s now possible to post to Tumblr from your pod :)
- Goto Facebook Developers page and click "Add a New App"
- Choose the "Website" option
- Type a name for your App (eg. “Diaspora at social.example.org”) and click "Create New Facebook App ID"
- Choose a category (e.g. Communication) and click "Confirm"
- Fill in the "Site URL" and "Mobile Site" URLs. You can use the same URL for both (e.g. `https://social.example.org`) and click "Next"
- Your App has now been created.
- Return to the Facebook Developers home page and click the "Apps" dropdown menu and select your new App
- The App ID is visible by default but the App Secret is hidden. Click on "Show" and re-enter your password to reveal the App Secret. Remember to never expose your App Secret
- Copy your App ID and your App Secret to your config/diaspora.yml
- Click "Settings"
- Add your pod domain (eg. https://social.example.org) to "App Domains" and add your email to the "Contact Email" then click "Save Changes"
- Before going live, you can create test user acccounts with different permissions that do not interfere with real Facebook users to make sure that everything is set up fine
- When you are ready to go, click "Status & Review"
- In the "Do you want to make this app and all its live features available to the general public?" section, press the button to be "Yes"
- Restart Diaspora on your server
Additional information
You can always create another test application based on your live application if you need to update anything and then migrate the changes.
Application for posting to Facebook
By default posting from diaspora* is possible only from the app administrator's Facebook account. To allow all users on the pod to post with the Facebook integration, your app needs permissions to be requested from Facebook as well as review and approvement. This is due to the deprecation of Graph API v1.0 and the introduction of more user privacy.
Requirements:
- Big Logo, (1024x1024 px)
- Small Logo, (250x250 px)
- Developer Contact Email,
- Link to privacy policy, (https://[yourpod][dot][tld]/terms)
- Detailed description with pictures and a test account for Facebook.
Tip: When filling in the application, provide at least 4 screenshots that are larger than 350px square. Make the application as clear and simple as possible like it is being explained to a 5 year old. This will improve the odds of having your app approved. If your application does not succeed the first time they will provide you with additional information.
Privacy of posts to Facebook
Any posts a user makes from a pod to Facebook will be made with the privacy level that the users sets on Facebook side when the user authorizes the diaspora* pod application. Posts done from diaspora* do not follow the privacy of selected aspects on diaspora* side. This behaviour is consistent with posting to Twitter etc where the target application governs the privacy of the post.
Wordpress
- Go to the Wordpress.com Developer Site and click "Create New Application"
- Add a name, a description (like "This application allows to post from the diaspora* social network to wordpress.com or any wordpress blog with jetpack enabled.") and the URL of your pod (eg. https://social.example.org)
- Important: Set the “Redirect URL” to your pod url (including http/https)+ /auth/wordpress/callback So if your pod is located at https://social.example.org enter https://social.example.org/auth/wordpress/callback
- Answer the Captcha
- Choose the type "web"
- Click on "Create"
- Visit the MyApps page and select your new App
- Copy your Client ID and your Client Secret to your config/diaspora.yml
- Restart Diaspora on your server
- You’re done. It’s now possible to post to Wordpress from your pod
Troubleshooting
When thing goes wrong, sometimes the solution is very simple. Take a look at some known issues.
Twitter and Tumblr
Server date and time
Authentication methods for Twitter and Tumblr use timestamps. If your server time and timezone are not set as expected, then the hash is generated incorrectly and it won't work.