vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Graveyard (https://vborg.vbsupport.ru/forumdisplay.php?f=224)
-   -   Miscellaneous Hacks - vBulletin to Twitter, live tweets of new threads (https://vborg.vbsupport.ru/showthread.php?t=234288)

Flep 01-28-2010 01:43 PM

When I post a new thread I get the following error:
Quote:

{ "errorCode": 0, "errorMessage": "", "results": { "http://www..../forum/showthread.php?t=5559": { "hash": "aQBF2F", "shortCNAMEUrl": "http://bit.ly/bsN5LF", "shortKeywordUrl": "", "shortUrl": "http://bit.ly/bsN5LF", "userHash": "bsN5LF" } }, "statusCode": "OK" }Invalid JSON-response on line 196 in /var/www/vhosts/.../httpdocs/forum/bitly.php
#0 /var/www/vhosts/.../httpdocs/forum/bitly.php(382): Bitly->doCall('shorten', Array)
#1 /var/www/vhosts/.../httpdocs/forum/newthread.php(262) : eval()'d code(12): Bitly->shorten('http://www....')
#2 /var/www/vhosts/.../httpdocs/forum/newthread.php(262): eval()
#3 /var/www/vhosts/.../httpdocs/forum/vbseo.php(1621): require('/var/www/vhosts...')
#4 {main}


Fatal error: Invalid JSON-response on line 196 in [path]/bitly.php in [path]/vb/vb.php on line 284
#0 vb_error_handler(256, Invalid JSON-response on line 196 in /var/www/vhosts/.../httpdocs/forum/bitly.php , /var/www/vhosts/.../httpdocs/forum/vb/vb.php, 284, Array ([exception] => BitlyException Object ([] => Invalid JSON-response,[] => ,[] => 0,[] => /var/www/vhosts/.../httpdocs/forum/bitly.php,[] => 196,[] => Array ([0] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/bitly.php,[line] => 382,[function] => doCall,[class] => Bitly,[type] => ->,[args] => Array ([0] => shorten,[1] => Array ([longUrl] => http://www..../forum/showthread.php?t=5559,[history] => 1))),[1] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/newthread.php(262) : eval()'d code,[line] => 12,[function] => shorten,[class] => Bitly,[type] => ->,[args] => Array ([0] => http://www..../forum/showthread.php?t=5559)),[2] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/newthread.php,[line] => 262,[function] => eval),[3] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/vbseo.php,[line] => 1621,[args] => Array ([0] => /var/www/vhosts/.../httpdocs/forum/newthread.php),[function] => require))),[code] => 256)) #1 trigger_error(Invalid JSON-response on line 196 in /var/www/vhosts/.../httpdocs/forum/bitly.php , 256) called at [/var/www/vhosts/.../httpdocs/forum/vb/vb.php:284] #2 vB::handleException(BitlyException Object ([] => Invalid JSON-response,[] => ,[] => 0,[] => /var/www/vhosts/.../httpdocs/forum/bitly.php,[] => 196,[] => Array ([0] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/bitly.php,[line] => 382,[function] => doCall,[class] => Bitly,[type] => ->,[args] => Array ([0] => shorten,[1] => Array ([longUrl] => http://www..../forum/showthread.php?t=5559,[history] => 1))),[1] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/newthread.php(262) : eval()'d code,[line] => 12,[function] => shorten,[class] => Bitly,[type] => ->,[args] => Array ([0] => http://www..../forum/showthread.php?t=5559)),[2] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/newthread.php,[line] => 262,[function] => eval),[3] => Array ([file] => /var/www/vhosts/.../httpdocs/forum/vbseo.php,[line] => 1621,[args] => Array ([0] => /var/www/vhosts/.../httpdocs/forum/newthread.php),[function] => require))))

buro9 01-28-2010 02:04 PM

Quote:

Originally Posted by Jesh (Post 1968454)
Getting 500 internal server error, any ideas?

Nope... you must have made a syntax error.
Quote:

Originally Posted by Bouncer222 (Post 1968592)
This mod is all great and I love the idea, never thought of it... but..

How exactly is it helping you get visitors to your site from those viewing your twitter page? I mean...all those threads that are relayed to twitter to be posted have no link backs to your actual vbulletin site, do they? Correct me if I'm wrong.

But if it just copies threads/posts and posts it on tweeter without some sort of link back to original thread... then what's the use?

Again, correct me if I'm wrong.
And thanks for the mod!

Bit.ly is being used to make sure your URLs don't break the 140 chars limit for the whole message. A prefix could take 10 chars, a thread title up to 85, leaving you with 45 chars for the URL, 43 if you substract 2 spaces... so to ensure that the URL fits I shorten it.

Bit.ly redirects traffic to the shortened URL to your site. And bit.ly keeps stats of this, so you get stats on who is clicking through as a result of twitter.

Quote:

Originally Posted by blake247 (Post 1968605)
I have the same error

The authentication error is a result of not following the instructions.

Note tazattitude's post:
Quote:

the bitly should look like this (example)
$bitly = new Bitly('testUser', 'R_hj3456hgf3hig56hi2gf6');
not $bitly = new Bitly('<testUser>', '<R_hj3456hgf3hig56hi2gf6>');

buro9 01-28-2010 02:08 PM

Quote:

Originally Posted by Flep (Post 1968953)
When I post a new thread I get the following error:

Flep, you're seeing the same issue as Nordinho, though I have no idea why it happens.

It's basically that PHP provides a built-in function called json_decode. That is failing even though the JSON from bit.ly is valid. I don't know why it's failing for you guys and not anyone else.

Feel free to comment out the bit.ly part of the plugin if the length of your thread URL's is below 43 chars (which is likely). The only part you'd lose as a result is stats from bit.ly about how many people clicked each link.

Quote:

Originally Posted by Nordinho (Post 1968936)
It seems so indeed, commented out the json errors and it posts to twitter (obviously not the shortened url though)

Nordinho... still can't help except to advise that you skip the URL shortening if your URLs are always going to be below 43 chars in length.

Can't for the life of me see why json_decode is failing as it's a built-in function. I'm on PHP 5.10 but it's not like I believe that json_decode wasn't working properly in any of the v5 branch.

cagbaazee 01-28-2010 02:11 PM

i I hv make change again but nothing is working..

here is my code please check whether it is working or not.

// The array below are the ids of non-public forums, update these to be your admin forum ids or anything non-public by default
$excludedForums = array(0);

if (!in_array($foruminfo[forumid], $excludedForums)) {
// http://classes.verkoyen.eu/bitly
require_once 'bitly.php';

// http://classes.verkoyen.eu/twitter/
require_once 'twitter.php';

$bitly = new Bitly('guru', 'R_5e3b37532588ecb8603c0f14b5b75cbz');
$shortUrl = $bitly->shorten('http://www.guru.info/forum/showthread.php?t='.$newpost[threadid]);

$tweet = '';
if (isset($newpost['prefixid']) && $newpost['prefixid'] != '') {
$tweet = $vbphrase['prefix_'.$newpost['prefixid'].'_title_plain'].' ';
}
$tweet .= $newpost['title'].' '.$shortUrl;

$twitter = new Twitter('guru','jimmy');
$twitter->updateStatus($tweet);
}


=================================================

// The array below are the ids of non-public forums, update these to be your admin forum ids or anything non-public by default
$excludedForums = array(0);

if (!in_array($foruminfo[forumid], $excludedForums)) {
// http://classes.verkoyen.eu/bitly
require_once 'bitly.php';

// http://classes.verkoyen.eu/twitter/
require_once 'twitter.php';

$bitly = new Bitly('wadhera69@hotmail.com', 'R_5e3b37532588ecb8603c0f14b5b75cbz');
$shortUrl = $bitly->shorten('http://www.guru.info/forum/showthread.php?t='.$newpost[threadid]);

$tweet = '';
if (isset($newpost['prefixid']) && $newpost['prefixid'] != '') {
$tweet = $vbphrase['prefix_'.$newpost['prefixid'].'_title_plain'].' ';
}
$tweet .= $newpost['title'].' '.$shortUrl;

$twitter = new Twitter('guru','jimmy');
$twitter->updateStatus($tweet);
}


==================

please confirm what is correct code for that. what is array stand for .. it mean that i donot hv to show my forum id or thread to public.. Right

Do reply

buro9 01-28-2010 02:13 PM

The first one looks correct, the second on is wrong.

bit.ly expects your username (not email) and your api key.

I wouldn't be posting either your API key or passwords on here btw... that's kinda silly.

buro9 01-28-2010 02:14 PM

Quote:

Originally Posted by cagbaazee (Post 1968971)
what is array stand for .. it mean that i donot hv to show my forum id or thread to public.. Right

The array EXCLUDES forums.

Hence it being called $excludedForums.

So if you have admin forums, or other non-public forums, you can prevent these from being tweeted.

Simples.

Explanation is in the instructions.

cagbaazee 01-28-2010 02:16 PM

Quote:

Originally Posted by buro9 (Post 1968973)
The first one looks correct, the second on is wrong.

bit.ly expects your username (not email) and your api key.

I wouldn't be posting either your API key or passwords on here btw... that's kinda silly.


i know that it is fake api and fake username / password.



But u didnot answer my question -

"please confirm what is correct code for that. what is array stand for .. it mean that i donot hv to show my forum id or thread to public.. Right

Do reply"

buro9 01-28-2010 02:24 PM

Quote:

Originally Posted by cagbaazee (Post 1968975)
But u didnot answer my question -

"please confirm what is correct code for that. what is array stand for .. it mean that i donot hv to show my forum id or thread to public.. Right

Do reply"

Post #56 answers it, and an example is in the instructions:
Quote:

You also should make a list of the forumIds that are non-public as you will want to put these in the array provided.

i.e. if your admin forum is forumId = 7 and you also have a private forum for regular members which is forumid = 12, then you will want this:
$excludedForums = array(7, 12);
So in that example any new threads that are started within forum 7 or forum 12 won't be tweeted.

Does this not make sense?

buro9 01-28-2010 02:26 PM

@Nordinho and @Flep

I've updated the instructions so that disabling bitly and using the long version of the URL is trivial.

Just set $useBitly = false; where it is currently true.

cagbaazee 01-28-2010 02:43 PM

Quote:

Originally Posted by buro9 (Post 1968981)
Post #56 answers it, and an example is in the instructions:

So in that example any new threads that are started within forum 7 or forum 12 won't be tweeted.

Does this not make sense?

Thanks.. if what i donot make wanna to make array.. so deafult (0) so all forumid will display. Right. Do reply


All times are GMT. The time now is 03:20 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01623 seconds
  • Memory Usage 1,784KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (12)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete