2013-05-21 2 views
0

이전에 묻는 질문에서 How to upload video in vimeo account through vimeo api in Symfony 2.2은 폐쇄되었습니다. 지금은 내가vimeo api를 통해 Vimeo 계정에서 비디오를 삭제하는 방법

아래에 주어진 내가

"vimeo.videos.delete"방법을 사용되는 비 메오 API를의 도움으로 내 응용 프로그램을 통해 비 메오 계정에서 업로드 된 동영상을 삭제하려면 한 번 더 요구 사항이

/** 
* Deletes a Video entity. 
* 
* @Route("/{id}", name="video_delete") 
* @Method("DELETE") 
* @Secure(roles="ROLE_SUPER_ADMIN") 
*/ 
public function deleteAction(Request $request, $id) 
{ 
    $vimeo = new phpVimeo('my_api_key', 'my_api_key_secret', 'my_token', 'my_token_secret'); 
    $form = $this->createDeleteForm($id); 
    $form->bind($request); 
    $em = $this->getDoctrine()->getManager(); 
    $video = $em->getRepository('MyBundle:Video')->find($id); 

     if (!$video) { 
      throw $this->createNotFoundException('Unable to find Video entity.'); 
     } 
    $videoId = $video->getVideoId(); 

    if ($form->isValid()) { 
     try 
     { 
     $vimeo->call('vimeo.videos.delete',array('video_id',$videoId)); 
     $em->remove($video); 
     $em->flush(); 
    } 
    catch (VimeoAPIException $e) { 
      echo "Encountered an API error -- code {$e->getCode()} - {$e->getMessage()}"; 
     } 
    } 

    return $this->redirect($this->generateUrl('video')); 
    } 
} 

하지만 난 내 응용 프로그램에서 선택한 동영상을 삭제하려고하면, 그것은 비디오를 삭제하려고하지만 내가 원하는 동안이 비디오의 내 데이터베이스 참조에서 정보를 정기적으로 삭제하는 동안 비 메오 계정에서 비디오를 삭제할 수 없습니다 데이터베이스와 vimeo 계정에서 비디오를 삭제합니다. 내가 뭘 잘못하고 있는거야?

이 문제와 관련된 도움이 필요한 경우 누구나이 문제를 해결할 수 있도록 도와주세요.

+4

제목을 편집하여 질문에 답하지 마십시오. Insted Post 답변을 수락합니다. Thx – 0x1gene

답변

0

지금 내 코딩에서 약간의 변화로 나는 그것을 해결했습니다!

/** 
* Deletes a Video entity. 
* 
* @Route("/{id}", name="video_delete") 
* @Method("DELETE") 
* @Secure(roles="ROLE_SUPER_ADMIN") 
*/ 
public function deleteAction(Request $request, $id) 
{ 
    $form = $this->createDeleteForm($id); 
    $form->bind($request); 
    $em = $this->getDoctrine()->getManager(); 
    $video = $em->getRepository('MyBundle:Video')->find($id); 

     if (!$video) { 
      throw $this->createNotFoundException('Unable to find Video entity.'); 
     } 
    $videoId = $entity->getVideoId(); 

    if ($form->isValid()) { 
     try 
     { 
     $api = $this->api(); 

     $method = 'vimeo.videos.delete'; 

     $query = array(); 
     $query['video_id'] = $videoId; 

     $r = $api->call($method, $query); 

    } 
    catch (VimeoAPIException $e) { 
      echo "Encountered an API error -- code {$e->getCode()} - {$e->getMessage()}"; 
     } 
     $em->remove($video); 
     $em->flush(); 
    } 

    return $this->redirect($this->generateUrl('video',array('result'=> $r))); 
    } 

public function api() 
{ 
    $consumer_key = 'my_api_key'; 
    $consumer_secret = 'my_api_key_secret'; 

    $token = 'my_access_token'; 
    $token_secret = 'my_access_token_secret'; 

    $vimeo = new phpVimeo($consumer_key, $consumer_secret); 
    $vimeo->setToken($token, $token_secret); 

    return $vimeo; 
} 
+1

이제 [확인 표시를 클릭하여] 대답을 수락 할 수 있습니다 (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). – Antony